Storage medium having stored thereon display control program and display control apparatus

ABSTRACT

In accordance with an operation content indicated by a user&#39;s operation data, an amount of scrolling is calculated, and a display range of a table to be displayed on a display apparatus is moved in the table in accordance with the amount of the scrolling. With respect to respective drawing areas, whether or not drawing start points, from which drawing character strings are to be drawn, stay within the display range is determined. When the drawing start point of a drawing area, among the drawing areas, falls outside the display range, the drawing start point of the drawing area is changed to a position which is in the drawing area and also which stays within the display range. The character strings are arranged in the respective drawing areas from the drawing start points set to the respective drawing areas, and the table in the display range is displayed on the display apparatus together with the arranged character strings.

CROSS REFERENCE TO RELATED APPLICATION

The disclosure of Japanese Patent Application No. 2008-014940, filed onJan. 25, 2008, is incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a storage medium having stored thereona display control program and a display control apparatus. Morespecifically, the present invention relates to a storage medium havingstored thereon a display control program and display control apparatuswhich cause character strings to be displayed in a plurality of drawingareas.

2. Description of the Background Art

Conventionally, in the case where a large amount of information such asimages and characters is displayed on a screen, and the whole of theinformation cannot be displayed on the screen of a display device, thedisplayed information is scrolled, whereby a content displayed withinthe screen is changed. For example, information such as an electronicbroadcast listing is displayed such that a plurality of broadcast cellsis arranged in a matrix form along a time axis and a broadcast stationaxis. As a method for scrolling and displaying such electronic broadcastlisting, Japanese Laid-Open Patent Publication No. 2002-320166(hereinafter referred to as Patent document 1), for example, discloses adisplay method in which one hourly time frame along the time axis is setas a unit of scrolling, and the electronic broadcast listing is moved orswitched from page to page. Further, in the case of an electronicbroadcast listing displayed on a web browser such as the InternetExplorer, (e.g., “Internet TV Guide”, [online], Tokyo News Service, Ltd.[searched on Dec. 18, 2007], Internet <URL:www.tvguide.or.jp/>(hereinafter referred to as Non-patent document 1)), known is anelectronic broadcast listing whose display range changes in accordancewith a scroll operation such as pointing performed by a user.

However, in the display method disclosed in above-described Patentdocument 1, in the case where a portion of broadcast cell information inthe electronic broadcast listing falls outside the display screen as aresult of the page-to-page movement or switching in the electronicbroadcast listing, nothing is described relating to how to control suchdisplay. Further, in the case of the electronic broadcast listingdescribed in above-described Non-patent document 1, when a portion ofbroadcast cell information in the electronic broadcast listing fallsoutside the display area, only a remaining portion of the broadcast cellinformation which stays within the display area is displayed in thedisplay area. Therefore, it becomes difficult for the user to correctlyunderstand a content of the broadcast cell information, the portion ofwhich falls outside the display area, and in addition, viewabilitydeteriorates in this case.

SUMMARY OF THE INVENTION

Therefore, an object of the present invention is to provide a storagemedium having stored thereon a display control program and a displaycontrol apparatus which allows a user to easily understand informationat the time of a scroll operation and which improves viewability ofdisplay information.

The present invention has the following features to attain the objectmentioned above. The reference numerals, step numbers (denoted by S,which is short for step, and numbers), drawing numbers and the like inthe parentheses indicate the correspondence with the embodimentdescribed below in order to aid in understanding the present inventionand are not intended to limit, in any way, the scope of the presentinvention.

A first aspect of the present invention is directed to acomputer-readable storage medium having stored thereon a display controlprogram executed by a computer (10) of an apparatus (5) for drawingpredetermined character strings in a plurality of drawing areas andarranging and displaying (FIGS. 9 to 12) the plurality of drawing areasin the form of a table. The display control program causes the computerto function as operation data acquisition means (CPU executing step 53;hereinafter simply denoted by step numbers), scroll amount calculationmeans (S55), display range moving means (S56), drawing start pointdetermination means (S131), drawing start point changing means (S133),character string arranging means (S132, S134), and display control means(S132, S134). The operation data acquisition means acquires operationdata (Da) of a user. The scroll amount calculation means calculates anamount of scrolling (scv) in accordance with an operation contentindicated by the operation data. The display range moving means causes adisplay range of the table displayed on a display apparatus (2) to bemoved in the table in accordance with the amount of the scrolling (FIG.24). The drawing start point determination means determines whether ornot a drawing start point for drawing each of the character strings ineach of the drawing areas stays within the display range. The drawingstart point changing means changes, in the case where the drawing startpoint determination means determines that the drawing start point of adrawing area, among the drawing areas, falls outside the display range,the drawing start point of the drawing area to a position which is inthe drawing area and also which stays within the display range (xsc,ysc). The character string arranging means arranges each of thecharacter strings into each of the drawing areas from the drawing startpoint which is set to each of the drawing areas. The display controlmeans causes the table within the display range to be displayed on thedisplay apparatus together with the character strings arranged by thecharacter string arranging means.

In a second aspect based on the first aspect, with respect to a drawingarea, among the drawing areas, where a portion of the drawing area stayswithin the display range, and a remaining portion of the drawing areafalls outside the display range, the drawing start point determinationmeans determines whether or not the drawing start point of the drawingarea stays within the display range.

In a third aspect based on the first aspect, the display range movingmeans causes the display range to be moved, in accordance with theamount of scrolling, by a distance (va) shorter than a length of thedrawing area in a scrolling direction at an interval of a unit time. Thedrawing start point determination means determines whether or not thedrawing start point stays within the display range each time the displayrange moving means causes the display range to be moved.

In a fourth aspect based on the first aspect, the scroll amountcalculation means calculates a scroll speed (va), which indicates anamount of scrolling per unit time, at an interval of the unit time, inaccordance with the operation content indicated by the operation data.The display range moving means causes the display range to be moved inthe table at the interval of the unit time in accordance with the scrollspeed.

In a fifth aspect based on the first aspect, the computer is furthercaused to function as drawing area expanding/reducing means (S57),character size determination means (S98 to S101), and character sizechanging means (S97, S102). In the case where a portion of a drawingarea, among the drawing areas, stays within the display range and aremaining portion of the drawing area falls outside the display range,the drawing area expanding/reducing means expands/reduces the drawingarea so as to limit the drawing area to the portion thereof which stayswithin the display range. The character size determination meansdetermines, in the case where the drawing area expanding/reducing meansexpands/reduces the drawing area, whether or not a character size of acharacter string to be drawn in the drawing area is changed. Thecharacter size changing means changes the character size to be drawn inthe drawing area in the case where the character size determinationmeans determines to change the character size to be drawn in the drawingarea. The character string arranging means arranges the character stringin the drawing area from the drawing start point of the drawing area inthe character size to be drawn in the drawing area, the character sizehaving been changed by the character size changing means.

In a sixth aspect based on the fifth aspect, the character sizedetermination means includes number-of-characters calculation means(S98) and number-of-characters determination means (S99 to S100) Thenumber-of-characters calculation means calculates the number ofcharacters arrangeable in the drawing area in accordance with a size ofthe drawing area. The number-of-characters determination meansdetermines whether or not the character size of the character string tobe drawn in the drawing area is to be changed in accordance with whetheror not the number of characters arrangeable in the drawing areacalculated by the number-of-characters calculation means is equal to ormore than a predetermined number (three characters). The character sizechanging means changes the character size to a relatively larger size inthe case where the number of characters arrangeable in the drawing areais determined, by the number-of-characters determination means, to beequal to or more than the predetermined number, whereas changes thecharacter size to a relatively smaller size in the case where the numberof characters arrangeable in the drawing area is determined by thenumber-of-characters determination means, to be less than thepredetermined number.

In a seventh aspect based on the sixth aspect, in the case where thenumber of characters arrangeable in the drawing area is determined, bythe number-of-characters determination means, to be less than thepredetermined number, the character size changing means reduces thecharacter size to be arranged in the drawing area by one level (S102).When the character size changing means reduces the character size, thenumber-of-characters determination means recalculates the number ofcharacters arrangeable in the drawing area in accordance with the sizeof the drawing area with respect to which the character size has beenreduced and in accordance with the reduced character size. In accordancewith the reduced character size reduced by the character size changingmeans, the number-of-characters determination means determines whetheror not the number of characters recalculated by the number-of-characterscalculation means is equal to or more than the predetermined number.

In an eighth aspect based on the seventh aspect, in the case where thenumber-of-characters determination means determines that the number ofcharacters arrangeable in the drawing area is less than thepredetermined number under a circumstance where the character sizechanging means has reduced the character size to a minimum size, thecharacter string arranging means leaves the drawing area blank (S104).

In a ninth aspect based on the sixth aspect, the number-of-characterscalculation means includes number-of-lines Calculation means (S113) andnumber-of-characters-per-line calculation means (S118 to S120). Thenumber-of-lines calculation means calculates the number of characterlines arrangeable in the drawing area in accordance with a length of oneside of the drawing area and in accordance with a length of a characterin a direction of the one side, the character having a character size tobe arranged in the drawing area. The number-of-characters-per-linecalculation means calculates the number of characters arrangeable ineach of the character lines in the drawing area in accordance with alength of the other side of the drawing area and in accordance with alength of the character in a direction of the other side, the characterhaving the character size to be arranged in the drawing area. Thenumber-of-characters calculation means calculates the number ofcharacters arrangeable in the drawing area by using the number ofcharacter lines and the number of characters arrangeable in each of thecharacter lines. The character string arranging means arranges thecharacter string in the drawing area from the drawing start point of thedrawing area in accordance with the character size having been changed,with respect to the drawing area, by the character size changing meansand by using the number of character lines.

In a tenth aspect based on the first aspect, the table is a broadcastlisting in which the plurality of drawing areas is arranged in a matrixform, and in which one axis thereof represents a time axis and the otheraxis represents a broadcast station axis. The character string arrangingmeans arranges each of the character strings at least indicative of abroadcast title into each of the plurality of the drawing areas inaccordance with a broadcast station and a broadcast time of thebroadcast.

An eleventh aspect is directed to a display control apparatus fordrawing predetermined character strings in a plurality of drawing areasand for arranging and displaying the plurality of drawing areas in theform of a table. The display control apparatus comprises operation dataacquisition means, scroll amount calculation means, display range movingmeans, drawing start point determination means, drawing start pointchanging means, character string arranging means, and display controlmeans. The operation data acquisition means acquires operation data of auser. The scroll amount calculation means calculates an amount ofscrolling in accordance with an operation content indicated by theoperation data. The display range moving means causes a display range ofthe table displayed on a display apparatus to be moved on the table inaccordance with the amount of scrolling. The drawing start pointdetermination means determines whether or not a drawing start point fordrawing each of the character strings in each of the drawing areas stayswithin the display range. The drawing start point changing meanschanges, in the case where the drawing start point determination meansdetermines that the drawing start point of a drawing area, among thedrawing areas, falls outside the display range, the drawing start pointof the drawing area to a position which is in the drawing area and alsowhich stays within the display range. The character string arrangingmeans arranges each of the character strings into each of the drawingareas from the drawing start point which is set to each of the drawingareas. The display control means causes the table within the displayrange to be displayed on the display apparatus together with thecharacter strings arranged by the character string arranging means.

According to the first aspect, it is possible to understand informationeasily at the time of a scroll operation and also possible to improveviewability of the display information. For example, when a drawingstart point of a drawing area falls outside the display range due to thescroll operation, the drawing start point is changed to a position inthe drawing area staying in the display range, whereby character stringinformation in respective drawing areas can be understood easily evenwhen the scroll operation is performed, and viewability of a table canbe improved.

According to the second aspect, drawing start point determinationprocessing is performed only with respect to such drawing areas that arelocated around an outer edge of the display range, and thus a fewernumber of drawing areas are subject to the processing, which makes theprocessing easier.

According to the third and fourth aspects, scrolling can be performedsmoothly in units smaller than a unit of the drawing area, andunderstandability and viewability of the display information at the timeof the scroll operation can be improved.

According to the fifth aspect, when a portion of the drawing area fallsoutside the display range due to the scroll operation, a character sizeof a character string displayed on the drawing area can be changedappropriately.

According to the sixth aspect, when a predetermined number or more ofcharacters cannot be drawn in the drawing area due to a change in a sizeof the drawing area, the character string is drawn in a relativelysmaller character size, whereas when the predetermined number or more ofthe characters can be drawn therein, the character string is drawn in arelatively larger character size. Accordingly, the character string canbe displayed as large a character size as possible, and a decrease inthe drawable number of characters can be avoided. Therefore,understandability and viewability of the information can be maintained.

According to the seventh aspect, when the predetermined number or moreof the characters cannot be drawn due to the change in the size of thedrawing area, the character size is reduced to a character size in whichthe predetermined number or more of the characters can be drawn.Therefore, the decrease in the drawable number of characters can beavoided, and information composed of the predetermined number or more ofcharacters can be continuously drawn in the drawing area.

According to the eighth aspect, in the case where only less than thepredetermined number of characters can be arranged in the drawing areaeven if a minimum character size is applied, the drawing area isdisplayed in blank. Therefore, it is possible to avoid a messy displayand deterioration in the viewability, which are caused by displayinginsufficient information on the drawing area.

According to the ninth aspect, it is possible to calculate the number ofcharacters drawable in each of the drawing areas efficiently by usingsimple processing. Further, the character string can be drawn by using aplurality of lines in the drawing area, and thus the character stringcomposed of the predetermined number or more of characters can bearranged efficiently when the drawing area is reduced by the scrolloperation.

According to the tenth aspect, it is possible to improve the viewabilityof the broadcast information described on the broadcast listing inaccordance with the scroll operation performed by the user, and alsopossible to enhance operability to improve the viewability of thebroadcast information.

According to the display control apparatus of the present invention, asimilar effect as the above-described storage medium having storedthereon the display control program can be obtained.

These and other objects, features, aspects and advantages of the presentinvention will become more apparent from the following detaileddescription of the present invention when taken in conjunction with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an external view illustrating a game system according to oneembodiment of the present invention;

FIG. 2 is a functional block diagram of a game apparatus body 5 shown inFIG. 1;

FIG. 3 is a perspective view of a controller 7 as viewed from a top rearside thereof shown in FIG. 1;

FIG. 4 is a perspective view of the controller 7 as viewed from a bottomfront side thereof shown in FIG. 3;

FIG. 5 is a perspective view of the controller 7 shown in FIG. 3 in astate where an upper housing thereof is removed;

FIG. 6 is a perspective view of the controller 7 shown in FIG. 4 in astate where a lower housing thereof is removed;

FIG. 7 is a block diagram showing a configuration of the controller 7shown in FIG. 3;

FIG. 8 is a diagram illustrating viewing angles of markers 8L and 8R,and an imaging information calculation section 74;

FIG. 9 is an exemplary screen showing a first state where a broadcastlisting displayed on a monitor 2 is scroll-displayed;

FIG. 10 is an exemplary screen showing a second state where thebroadcast listing displayed on the monitor 2 is scroll-displayed;

FIG. 11 is an exemplary screen showing a third state where the broadcastlisting displayed on the monitor 2 is scroll-displayed;

FIG. 12 is an exemplary screen showing a fourth state where thebroadcast listing displayed on the monitor 2 is scroll-displayed;

FIG. 13 is an exemplary screen showing an example of a series of changesin a display mode of a broadcast cell C2 in the broadcast listingscroll-displayed on the monitor 2;

FIG. 14 is a diagram showing exemplary major data stored in a mainmemory of the game apparatus body 5;

FIG. 15 is a diagram showing, in detail, an exemplary content ofbroadcast cell data Db2 shown in FIG. 14;

FIG. 16 is a flowchart showing a flow of display control processingperformed on the game apparatus body 5;

FIG. 17 is a sub-routine showing, in detail, an operation of drawingarea width calculation processing in step 57 shown in FIG. 16;

FIG. 18 is a sub-routine showing, in detail, an operation of broadcastlisting display updating processing in step 58 shown in FIG. 16;

FIG. 19 is a sub-routine showing, in detail, an operation ofdrawable-number-of-characters calculation processing in step 98 shown inFIG. 18;

FIG. 20 is a sub-routine showing, in detail, an operation of broadcastcell drawing processing in step 103 shown in FIG. 18;

FIG. 21 is a graph illustrating a first exemplary setting of a magnitudeva of a scroll vector scv;

FIG. 22 is a graph illustrating a second exemplary setting of themagnitude va of the scroll vector scv;

FIG. 23 is a diagram illustrating an exemplary setting of a display areaof the broadcast listing;

FIG. 24 is a diagram illustrating an exemplary setting of the displayarea in accordance with a scroll operation;

FIG. 25 is a diagram illustrating exemplary settings of a drawing areawidth dw and a drawing area height dh which are set with respect to abroadcast cell; and

FIG. 26 is a diagram illustrating exemplary settings of the drawing areawidth dw and the drawing area height dh which are set in the case wherea portion of the broadcast cell stays within the display area.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

With reference to FIG. 1, a display control apparatus, on which adisplay control program according to one embodiment of the presentinvention is executed, will be described. Hereinafter, for the sake ofspecific explanation, a game system including a stationary gameapparatus body 5 will be described as an example of the display controlapparatus. FIG. 1 is an external view of a game system 1 including astationary game apparatus 3. FIG. 2 is a block diagram of the gameapparatus body 5. Hereinafter, the game system 1 will be described.

As shown in FIG. 1, the game system 1 is composed of a home televisionreceiver (hereinafter referred to as a monitor) 2, which is exemplarydisplay means, and the stationary game apparatus 3 connected to themonitor 2 via a connection cord. The monitor 2 includes loudspeakers 2 afor outputting an audio signal outputted from the game apparatus body 5.The game apparatus 3 includes an optical disc 4 having a game programstored thereon, the game apparatus body 5 incorporating a computer forexecuting the game program stored on the optical disc 4 and foroutputting and displaying a game screen on the monitor 2, and acontroller 7 for providing the game apparatus body 5 with operationalinformation necessary for operating a play character or the likedisplayed on the game screen.

The game apparatus body 5 embeds therein a wireless controller module 19(see FIG. 2). The wireless controller module 19 receives data wirelesslytransmitted from the controller 7, and transmits the data from the gameapparatus body 5 to the controller 7, thereby causing the controller 7and the game apparatus body 5 to be connected to each other via wirelesscommunication. The optical disc 4, which is an exemplary informationstorage medium exchangeably used to the game apparatus body 5, isdetachably inserted to the game apparatus body 5.

The game apparatus body 5 is equipped with a flash memory 17 (see FIG.2) which functions as a backup memory for fixedly storing data such asvarious data described later and save data saved during game softwareprocessing. On the game apparatus body 5, the game program or the likestored on the optical disc 4 is executed, and a result thereof isdisplayed on the monitor 2 as a game image. In addition to the opticaldisc 4, the game program or the like may be previously stored in theflash memory 17 and then executed. Further, on the game apparatus body5, by using the save data stored in the flash memory 17, it is possibleto reproduce a game state previously executed and to display the gameimage on the monitor 2. A player of the game apparatus body 5 views thegame image displayed on the monitor 2, and enjoys a progress of the gamewhile operating the controller 7.

As a first example, the display control program of the present inventionis previously stored in an involatile storage apparatus (e.g., the flashmemory 17) provided in the game apparatus body 5. As a second example,the display control program of the present invention is provided to thegame apparatus body 5 via an external storage medium such as the opticaldisc 4. As a third example, the display control program of the presentinvention is provided to the game apparatus body 5 via a wired orwireless communication line. The game apparatus body 5, on which thedisplay control program is executed, uses broadcast listing dataprovided thereto through the wired or wireless communication line andcauses a broadcast listing indicated by the broadcast listing data to bedisplayed on the monitor 2.

The controller 7 wirelessly transmits transmission data such asoperation information and the like by using a technique of Bluetooth(registered trademark) to the game apparatus body 5 having the wirelesscontroller module 19 embedded therein. The controller 7 is operationmeans for mainly operating an object and the like displayed on a displayscreen of the monitor 2. The controller 7 has a housing of a size smallenough to be held by one hand, and also has a plurality of operationbuttons (including a cross key, a stick and the like) exposed on thesurface of the housing. As will become clear later, the controller 7includes an imaging information calculation section 74 for picking up animage as viewed from the controller 7. Further as an exemplary imagingtarget of the imaging information calculation section 74, two LEDmodules (hereinafter referred to as markers) 8L and 8R are located inthe vicinity of the display screen of the monitor 2. The markers 8L and8R each outputs infrared light, for example, forward from the monitor 2.The controller 7 is capable of receiving, by using communication section75 provided therein, the transmission data wirelessly transmitted fromthe wireless controller module 19 of the game apparatus body 5, andgenerating a sound and vibration corresponding to the transmission data.

With reference to FIG. 2, an internal configuration of the gameapparatus body 5 will be described. FIG. 2 is a block diagram showing aconfiguration of the game apparatus body 5. The game apparatus body 5includes a CPU (Central Processing Unit) 10, a system LSI (Large ScaleIntegration) 11, an external main memory 12, a ROM/RTC (Read OnlyMemory/Real Time Clock) 13, a disc drive 14, an AV-IC (AudioVideo-Integrated Circuit) 15, the flash memory 17, and the like.

The CPU 10 executes the display control program stored in the flashmemory 17 or the like, thereby performing the display controlprocessing. That is, the CPU 10 functions as a display controlprocessor. The CPU 10 also functions as a game processor, and executes agame process by executing the game program stored on the optical disc 4.The CPU 10 is connected to the system LSI 11. To the system LSI 11, notonly the CPU 10, but also the external main memory 12, the ROM/RTC 13,the disc drive 14, and the AV-IC 15 are connected. The system LSI 11performs processing such as control of data-transmission amongrespective component parts connected thereto, generation of an image tobe displayed, acquisition of data from an external apparatus, and thelike. An internal configuration of the system LSI 11 will be describedlater. The external main memory 12, which is of a volatile type, storestherein programs such as the game program read from the optical disc 4and the display control program read from the flash memory 17, andvarious data. The external main memory 12 is used as a work area and abuffer space for the CPU 10. The ROM/RTC 13 includes a ROM (so-called aboot ROM) incorporating a program for starting up the game apparatusbody 5, and a clock circuit (RTC) for counting time. The disc drive 14reads program data, texture data and the like from the optical disc 4,and writes the read data into an internal main memory 35 described lateror the external main memory 12.

Further, provided to the system LSI 11 are an input/output (I/O)processor 31, a GPU (Graphics Processor Unit) 32, a DSP (Digital SignalProcessor) 33, a VRAM (Video RAM) 34, and the internal main memory 35.Although not shown in drawings, these component parts 31 to 35 areconnected to one another via an internal bus.

The GPU 32 functions as a part of drawing means, and generates an imagein accordance with a graphics command (draw command) from the CPU 10.The VRAM 34 stores therein data (such as polygon data and texture data)necessary for the GPU 32 to execute the graphics command. When an imageis to be generated, the GPU 32 uses data stored in the VRAM 34 andgenerates the image data.

The DSP 33 functions as an audio processor, and generates audio data byusing sound data and sound waveform (tone quality) data stored in theinternal main memory 35 and the external main memory 12. In order tooutput a sound from the loudspeakers 2 a, the DSP 33 reads theabove-described sound data, and outputs the read data to theloudspeakers 2 a via the AV-IC 15 and the AV connector 16, theloudspeakers 2 being provided on the monitor 2. In order to output thesound from the loudspeaker 706 (see FIG. 7) provided on the controller7, the DSP 33 reads the above-described sound data and transmits thesound data to the controller 7 via the wireless controller module 19 andan antenna 23.

The image data and the audio data generated as above described are readby the AV-IC 15. The AV-IC 15 outputs the read image data to the monitor2 via the AV connector 16, and also outputs the read audio data to theloud speakers 2 a embedded in the monitor 2. Accordingly, the image isdisplayed on the monitor 2, and the sound is outputted from theloudspeakers 2 a.

The I/O processor 31 executes transmission of data among component partsconnected thereto, and also executes download of data from an externalapparatus. The I/O processor 31 is connected to the flash-memory 17, thewireless communication module 18, the wireless controller module 19, anextension connector 20, and an external memory card connector 21. Anantenna 22 is connected to the wireless communication module 18, and anantenna 23 is connected to the wireless controller module 19.

The I/O processor 31 is connected to a network via the wirelesscommunication module 18 and the antenna 22, and is capable ofcommunicating with another game apparatus and various servers connectedto the network. The I/O processor 31 accesses the flash memory 17 atregular intervals so as to detect data, if any, which is necessary to betransmitted to the network. If the data is detected, the detected datais transmitted to the network via the wireless communication module 18and the antenna 22. The I/O processor 31 receives data transmitted fromanother game apparatus and data (such as electronic broadcast listingdata) downloaded from a download server via the network, the antenna 22and the wireless communication module 18, and stores the received datain the flash memory 17. The CPU 10 executes the game program, and readsthe data stored in the flash memory 17 so as to be used for executingthe game program and the display control program. In the flash memory17, not only data transmitted between the game apparatus body 5 andanother game apparatus or various servers, but also save data of a game(result data or midstream data of the game) played by using the gameapparatus body 5 may be stored.

The I/O processor 31 receives operation information and the like, whichis transmitted from the controller 7 via the antenna 23 and the wirelesscontroller module 19, and (temporarily) stores the operation informationin the internal main memory 35 or in the buffer space of the externalmain memory 12. As with the external main memory 12, the internal mainmemory 35 may be used for storing therein the programs such as the gameprograms read from the optical disc 4 and from the flash memory 17, andvarious data, and may be used as the work area or the buffer space forthe CPU 10.

The extension connector 20 and the external memory card connector 21 areconnected to the I/O processor 31. The extension connector 20 is aninterface connector as typified by a USB and an SCSI, and is capable ofperforming communication with the network, instead of the wirelesscommunication module 18, by connecting thereto a medium such as anexternal storage medium, a peripheral device such as another controller,or a wired communication connector. The external memory card connector21 is a connector for connecting thereto the external storage mediumsuch as a memory card. For example, the I/O processor 31 accesses theexternal storage medium via the extension connector 20 or the externalmemory card connector 21, and then saves data or reads data.

Provided to the game apparatus body 5 (for example, on the front mainsurface thereof) are a power button 24 of the game apparatus body 5, areset button 25 of the game process, an insertion slot in which theoptical disc 4 is inserted, an eject button 26 for causing the opticaldisc 4 to be ejected from the insertion slot of the game apparatus body5, and the like. The power button 24 and the reset button 25 areconnected to the system LSI 11. When the power button is turned on,power is supplied to each of the component parts of the game apparatusbody 5 via an AC adaptor, which is not shown. When the reset button 25is pressed, the system LSI 11 reactivates the start-up program of thegame apparatus body 5. The eject button 26 is connected to the discdrive 14. When the eject button 26 is pressed, the optical disc 4 isejected from the disc drive 14.

With reference to FIGS. 3 and 4, the controller 7 will be described.FIG. 3 is a perspective view of the controller 7 as viewed from a toprear side thereof. FIG. 4 is a perspective view of the controller 7 asviewed from a bottom front side thereof.

As shown in FIGS. 3 and 4, the controller 7 includes a housing 71, whichis formed by, for example, plastic molding, and a plurality of operationsections are provided on the housing. The housing has a substantiallyparallelepiped shape extending in a longitudinal direction from front torear, and an overall size thereof is small enough to be held by one handof an adult or even a child.

At a front center portion of a top surface of the housing 71, a crosskey 72 a is provided. The cross key 72 a is a cross-shaped fourdirection push switch, and the operation portions thereof arerespectively located on cross-shaped projecting portions arranged atintervals of 90 degrees such that the operation portions correspond tofour directions (front, rear, right and left). A player selects one ofthe front, rear, right, and right directions by pressing one of theoperation portions of the cross key 72 a. Through an operation of thecross key 72 a, the player can, for example, scroll and display abroadcast listing, indicate a direction in which a player character orthe like appearing in a virtual game world is to move, or select aninstruction from a plurality of choices.

The cross key 72 a is an operation section for outputting an operationsignal in accordance with the direction input operation performed by theplayer as above described, and such an operation may be provide inanother form. For example, the operation section may be provided suchthat four push switches are arranged in the cross directions and anoperation signal is outputted by the player's pressing one of the fourpush switches. Further, in addition to the four push switches, a centerswitch may be provided at a crossing position of the above-describedcross directions so as to provide an operation section composed of thefour push switches and the center switch. Alternatively, the cross key72 a may be replaced with an operation section which includes aninclinable stick (so called a joystick) projecting from the top surfaceof the housing 71 and which outputs the operation signal in accordancewith an inclining direction of the stick. Still alternatively, the crosskey 72 a may be replaced with an operation section which includes adisc-shaped member horizontally slidable and which outputs an operationsignal in accordance with an sliding direction of the disc-shapedmember. Still alternatively, the cross key 72 a may be replaced with atouchpad.

Behind the cross key 72 a on the top surface of the housing 71, aplurality of operation buttons 72 b, 72 c, 72 d, 72 e, 72 f and 72 g areprovided. The operation buttons 72 b, 72 c, 72 d, 72 e, 72 f and 72 gare each an operation section for outputting an operation signalassigned thereto when the player presses a head thereof. For example,functions such as a No. 1 button, a No. 2 button, an A button and thelike are assigned to the operation buttons 72 b, 72 c and 72 d. Further,functions such as a minus button, a home button, a plus button and thelike are assigned to the operation buttons 72 e, 72 f and 72 g. Variousoperation functions are assigned to these operation buttons 72 a, 72 b,72 c, 72 d, 72 e, 72 f and 72 g in accordance with the game programexecuted by the game apparatus body 5. For example, when the operationbutton 72 b (No. 1 button) or the operation button 72 c (No. 2 button)is pressed, a character size of a broadcast displayed in a broadcastlisting may be changed. When the operation button 72 e (minus button) orthe operation button 72 g (plus button) is pressed, a time axis of thedisplayed broadcast listing may be changed. In an exemplary arrangementshown in FIG. 3, the operation buttons 72 b, 72 c and 72 d are arrangedin a line at the center in a front-rear direction on the top surface ofthe housing 71. Further, the operation buttons 72 e, 72 f, and 72 g arearranged in a line on the top surface of the housing 71 in a left-rightdirection between the operation buttons 72 b and 72 d. The operationbutton 72 f has a top surface thereof buried in the top surface of thehousing 71 so as not to be inadvertently pressed by the player.

In front of the cross key 72 a on the top surface of the housing 71, anoperation button 72 h is provided. The operation button 72 h is a powerswitch for turning on and off the power to the game apparatus body 5 byremote control. The operation button 72 h also has a top surface thereofburied in the top surface of the housing 71, so as not to beinadvertently pressed by the player.

Behind the operation button 72 c on the top surface of the housing 71, aplurality of LEDs 702 is provided. A controller type (number) isassigned to the controller 7 such that the controller 7 isdistinguishable from another controller 7. The LEDs 702 are used for,for example, informing the player about the controller type currentlyset for the controller. Specifically, a signal is transmitted, from thewireless controller module 19 to the controller 7, so as to light a LEDcorresponding to the above-described controller type among the pluralityof LEDs 702.

On the top surface of the housing 71, loudspeaker holes for emitting asound from a loudspeaker (the loudspeaker 706 shown in FIG. 5), which isdescribed later, are formed between the operation button 72 b and theoperation buttons 72 e, 72 f and 72 g.

On a bottom surface of the housing 71, a recessed portion is formed. Therecessed portion on the bottom surface of the housing 71 is formed in aposition in which an index finger or middle finger of the player islocated when the player holds the controller 7 with one hand and pointsa front portion thereof to the markers 8L and 8R. On a slope surface ofthe recessed portion, an operation button 72 i is provided. Theoperation button 72 i is an operation section acting as, for example, aB button. For example, when the player points and moves the controller 7while pressing the operation button 72 i, the broadcast listing may bescroll-displayed.

On a front surface of the housing 71, an image pickup element 743constituting a part of an imaging information calculation section 74 isprovided. The imaging information calculation section 74 is a systemwhich analyzes image data picked up by the controller 7, identifies anarea having a high brightness point in the image, and detects a positionof a gravity center, a size and the like of the area. The imaginginformation calculation section 74 has, for example, a maximum samplingperiod of about 200 frames/sec., and thus can trace and analyze even arelatively fast motion of the controller 7. A configuration of theimaging information calculation section 74 will be described later indetail. On a rear surface of the housing 71, a connector 73 is provided.The connector 73 is, for example, an edge connector, and is used forcoupling and connecting the controller with a connection cable.

With reference to FIGS. 5 and 6, an internal structure of the controller7 will be described. FIG. 5 is a perspective view of the controller 7 asviewed from a rear side, the controller 6 being in a state where anupper housing (a part of the housing 71) of the controller 7 is removed.FIG. 6 is a perspective view of the controller 7 as viewed from a frontside, the controller 7 being in a state where a lower housing (a part ofthe housing 71) of the controller 7 is removed. FIG. 6 is also aperspective view as viewed from a reverse side of a substrate 700 shownin FIG. 5.

As shown in FIG. 5, the substrate 700 is fixed inside the housing 71.Provided on a top main surface of the substrate 700 are the operationbuttons 72 a, 72 b, 72 c, 72 d, 72 e, 72 f, 72 g and 72 h, anacceleration sensor 701, the LEDs 702, an antenna 754 and the like.These component parts are connected to a microcomputer 751 or the like(see FIGS. 6 and 7) by lines (not shown) formed on the substrate 700 orthe like. The wireless module 753 (see FIG. 7) and the antenna 754 allowthe controller 7 to act as a wireless controller. A quartz oscillator,which is not shown, is provided in an inside of the housing 71, andgenerates a reference clock of the microcomputer 751 described later. Onthe top main surface of the substrate 700, the loudspeaker 706 and an,amplifier 708 are provided.

The acceleration sensor 701 is provided at the left side of theoperation button 72 d on the substrate 700 (that is, at a peripheralportion, instead of a center portion, on the substrate 700).Accordingly, the acceleration sensor 701 can detect, in accordance witha rotation centering on the longitudinal direction of the controller 7,acceleration caused by a centrifugal force element as well asdirectional variation in gravitational acceleration. Therefore, based ona predetermined calculation, the game apparatus body 5 and the like candetect, from the detected acceleration data, the motion of thecontroller 7 highly sensitively. For example, the controller 7 includestriaxial acceleration sensor 701. The triaxial acceleration sensor 701detects linear acceleration in three directions, i.e., an up-downdirection, a left-right direction and a front-rear direction. Dataindicative of acceleration detected by the acceleration sensor 701 alongthe respective directions is outputted to the communication section 75.

As shown in FIG. 6, at a front edge of a bottom main surface of thesubstrate 700, the imaging information calculation section 74 isprovided. The imaging information calculation section 74 includes aninfrared filter 741, a lens 742, the image pick up element 743, and animage processing circuit 744, which are located in this order from thefront side of the controller 7, and provided on the bottom main surfaceof the substrate 700. At a rear edge of the bottom main surface of thesubstrate 700, the connector 73 is attached. Further, on the bottom mainsurface of the substrate 700, a sound IC 707 and the microcomputer 751are provided. The sound IC 707 is connected to the microcomputer 751 andthe amplifier 708 by lines formed on the substrate 700 or the like, andoutputs an audio signal to the loudspeaker 706 via the amplifier 708 inaccordance with the audio data transmitted from the game apparatus body5.

On the bottom main surface of the substrate 700, a vibrator 704 isattached. The vibrator 704 may be, for example, a vibration motor or asolenoid. The vibrator 704 is connected to the microcomputer 751 via thelines formed on the substrate 700 or the like, and an operation thereofis turned on/off in accordance with vibration data transmitted from thegame apparatus body 5. The controller 7 is vibrated when the vibrator704 is turned on, and vibration is conveyed to the player holding thecontroller. Thus, so-called a vibration-feedback game is realized. Thevibrator 704 is located at a relatively front side of the housing 71,and thus the housing 71 vibrates to a large extent while the player isholding the housing 71, whereby the player feels vibration sensitively.

With reference to FIG. 7, an internal configuration of the controller 7will be described. FIG. 7 is a block diagram showing a configuration ofthe controller 7.

As shown in FIG. 7, the controller 7 includes thereinside acommunication section 75, in addition to the operation sections 72, theimaging information calculation section 74, the acceleration sensor 701,the vibrator 704, the loudspeaker 706, the sound IC 707, and theamplifier 708 which are described as above.

The imaging information calculation section 74 includes the infraredfilter 741, the lens 742, the image pickup element 743 and the imageprocessing circuit 744. The infrared filter 741 allows only an infraredradiation to pass therethrough, the infrared radiation being included inthe light which is incident on the front side of the controller 7. Thelens 742 converges the infrared radiation which has passed through theinfrared filter 741, and outputs the infrared radiation to the imagepickup element 743. The image pickup element 743 is a solid-state imagepickup element such as a CMOS sensor or a CCD, and picks up an images ofthe infrared radiation converged by the lens 742. In other words, theimage pickup element 743 picks up the image of only the infraredradiation having passed through the infrared filter 741, and generatesimage data. The image data generated by the image pickup element 743 isprocessed by the image processing circuit 744. Specifically, the imageprocessing circuit 744 processes the image data obtained from the imagepickup element 743 and detects a high brightness point thereof, andoutputs, to the communication section 75, a process result dataindicative of a result of the detection of a position of the highbrightness point. The imaging information calculation section 74 isfixed on the housing 71 of the controller 7, and an imaging direction ofthe housing 71 can be changed by changing the orientation of the housing71.

The communication section 75 includes the microcomputer 751, a memory752, the wireless module 753 and the antenna 754. The microcomputer 751controls the wireless module 753 for wirelessly transmitting thetransmission data while using the memory 752 as a storage area at thetime of processing. Further, the microcomputer 751 controls operationsof the sound IC 707 and the vibrator 704 in accordance with the datareceived by the wireless module 753 from the game apparatus body 5 viathe antenna 754. The sound IC 707 processes the sound data and the liketransmitted from the game apparatus body 5 via the communication section75. Further, the microcomputer 751 actuates the vibrator 704 inaccordance with the vibration data (e.g., signal for turning thevibrator 7040N or OFF) and the like which are transmitted from the gameapparatus body 5 via the communication section 75.

Data from the controller 7 such as an operation signal (key data) fromthe operation section 72, acceleration signals (acceleration data) inthree axes directions from the acceleration sensor 701, and the processresult data from the imaging information calculation section 74 areoutputted to the microcomputer 751. The microcomputer 751 temporarilystores the inputted data (the key data, the acceleration data, and theprocess result data) in the memory 752 as the transmission data to betransmitted to the wireless controller module 19. The wirelesstransmission from the communication section 75 to the wirelesscontroller module 19 is performed at predetermined time intervals. Sincethe game process is generally performed at an interval of 1/60 sec., thewireless transmission needs to be performed at the interval of a shortertime period. Specifically, the game process is performed at the intervalof 16.7 ms ( 1/60 sec.), and a transmission interval of thecommunication section 75, which is configured with the Bluetooth(registered trademark); is 5 ms, for example. At a timing of performinga transmission to the wireless controller module 19, the microcomputer751 outputs the transmission data stored in the memory 752 to thewireless module 753 as a series of pieces of operation information.Based on the Bluetooth (registered trademark) technology, for example,the wireless module 753 emits, from the antenna 754, a radio signalindicative of the operation information by using a carrier wave having apredetermined frequency. Thus, the key data from the operation section72, the acceleration data from the acceleration sensor 701, and theprocess result data from the imaging information calculation section 74are transmitted from the controller 7. The radio signal is received bythe wireless controller module 19 of the game apparatus body 5, and theradio signal is then demodulated or decoded in the game apparatus body5, whereby the series of pieces of operation information (the key data,the acceleration data and the process result data) are obtained. The CPU10 of the game apparatus body 5 performs the game process in accordancewith the obtained operation information and the game program. In thecase where the communication section 75 is configured with the Bluetooth(registered trademark) technology, the communication section 75 may havea function of receiving transmission data which is wirelesslytransmitted from other devices.

In order to play a game on the game system 1 by using the controller 7,a user holds the controller 7 by one hand (e.g., the right hand). Theuser then holds the controller 7 such that the front surface (anentrance side on which light picked up by the imaging informationcalculation section 74 is incident) of the controller 7 faces themonitor 2. On the other hand, in the proximity of the display screen ofthe monitor 2, two markers 8L and 8R are arranged (see FIG. 1). Themarkers 8L and 8R each outputs the infrared radiation forward from themonitor 2, and constitutes an imaging target of the imaging informationcalculation section 74.

As shown in FIG. 8, the markers 8L and 8R each has a viewing angle ofθ1. The image pickup element 743 has a viewing angle of θ2. For example,the viewing angle θ1 of each of the markers 8L and 8R is 34° (a halfvalue angle), and the viewing angle θ2 of the image pickup element 743is 41°. If the markers 8L and 8R are located within the viewing angle θ2of the image pickup element 743, and the image pickup element 743 islocated within the viewing angle θ1 of the marker 8L and within theviewing angle θ1 of the marker 8R, the game apparatus body 5 calculatesa position pointed to by the controller 7 by using position datarelating to the high brightness points generated by the markers 8L and8R.

When the user holds the controller 7 such that the front surface thereoffaces the monitor 2, the infrared radiations outputted from each of themarkers 8L and 8R are incident on the imaging information calculationsection 74. The image pickup element 743 picks up images of the incidentinfrared radiations via the infrared filter 741 and the lens 742, andthe image processing circuit 744 processes the picked up images. In theimaging information calculation section 74, components of the infraredradiation outputted from each of the markers 8L and 8R are detected,whereby positional information (positions of target images) and the likeof the markers 8L and 8R in the picked up image are obtained.Specifically, the image processing circuit 744 analyzes the image datapicked up by the image pickup element 743, eliminates, from areainformation of the picked up image, images which are not generated bythe infrared radiations outputted from the markers 8L and 8R, and thendetermines the high brightness points as the positions of the markers 8Land 8R. The imaging information calculation section 74 obtainspositional information such as barycentric positions of the determinedhigh rightness points, and outputs the positional information as theprocess result data. The positional information, which is the processresult data, may be outputted as coordinate values whose origin point isset to a predetermined reference point on the picked up image (e.g., thecenter or the left top corner of the picked up image) Alternatively, abrightness point position at a predetermined timing may be set as areference point position, and a difference between the reference pointposition and a current brightness point position may be outputted as avector. That is, in the case where a predetermined reference point isset on the image picked up by the image pickup element 743, thepositional information of the target images is used as parametersrepresenting differences between the positions of the target images andthe reference point position. The positional information is transmittedto the game apparatus body 5, whereby, based on the difference betweenthe reference point position and the positional information, the gameapparatus body 5 is capable of obtaining variations in signals whichcorrespond to a movement, an attitude, a position and the like of theimaging information calculation section 74, i.e., the controller 7 withrespect to the markers 8L and 8R. Specifically, when the controller 7 ismoved, the high brightness point position on an image transmitted fromthe communication section 75 changes. Therefore, by inputting adirection or a coordinate point in accordance with a change in the highbrightness point position, a position pointed to by the controller 7 isconsidered as an operation input, and a direction or a coordinate pointcan be inputted in accordance with a moving direction of the controller7. In an exemplary operation in display control processing to bedescribed later, the imaging information calculation section 74 at leastobtains the coordinate points of the barycenteric positions of therespective target images of the markers 8L and 8R on the picked upimages, and outputs the obtained coordinate points as the process resultdata.

In this manner, the imaging information calculation section 74 of thecontroller 7 picks up the markers (the infrared radiations from themarkers 8L and 8R in the embodiment) which is located fixedly, wherebydata outputted from the controller 7 is processed in the game process onthe game apparatus body 5, and an operation can be performed inaccordance with the movement, the attitude, the position and the like ofthe controller 7. Further, it becomes possible to perform an intuitiveoperation input which is different from an input by pressing theoperation button and the operation key. Since the above-describedmarkers are located in the proximity of the display screen of themonitor 2, a position of the controller 7 with respect to the markerscan be easily converted to the movement, the attitude, position and thelike of the controller 7 with respect to the display screen of themonitor 2. That is, the process result data based on the movement, theattitude, the position and the like of the controller 7 is used as theoperation input directly reflected on the display screen of the monitor2 (e.g., inputting a position pointed to by the controller 7).

With reference to FIGS. 9 to 13, exemplary screen displayed on themonitor 2 in accordance with the user's operation will be described.FIG. 9 is an exemplary screen illustrating a first state where abroadcast listing displayed on the monitor 2 is scroll-displayed. FIG.10 is an exemplary screen illustrating a second state where thebroadcast listing displayed on the monitor 2 is scroll-displayed. FIG.11 is an exemplary screen illustrating a third state where the broadcastlisting displayed on the monitor 2 is scroll-displayed. FIG. 12 is anexemplary screen illustrating a fourth state where the broadcast listingdisplayed on the monitor 2 is scroll-displayed. FIG. 13 is an exemplaryscreen showing an example of a series of changes in a display mode of abroadcast cell C2 in the broadcast listing scroll-displayed on themonitor 2.

As shown in each of FIGS. 9 to 12, the broadcast listing is displayed onthe monitor 2 in a matrix form, where a horizontal axis represents atime axis, and a vertical axis represents a broadcast station axis.Specifically, broadcast cells corresponding to time frames, in whichtelevision stations broadcast respective broadcasts, are setrespectively, and a broadcast title is described in characters in eachof the broadcast cells. By pressing a predetermined button of thecontroller 7, or changing a position pointed with the controller 7, theuser can change a character size of the broadcast title, scroll thebroadcast listing, and expand or shorten a length of the time axis. Forexample, when the user presses the operation button 72 b (No. 1 button)or the operation button 72 c (No. 2 button), the character size of thebroadcast title is changed. When the user presses the operation button72 e (minus button) or the operation button 72 g (plus button), thelength of the time axis of the displayed broadcast listing is expandedor shortened. Further, when the user moves the position pointed to bythe controller 7 while pressing the operation button 72 i, or when theuser presses the operation button 72 a (cross key), the broadcastlisting is scroll-displayed. An exemplary display in which the broadcastlisting is scroll-displayed will be described hereinafter.

For example, as shown in FIG. 9, a broadcast listing is displayed inwhich the time axis shows three hourly time frames, respectively staringfrom 1900, 2000 and 2100 hours, and the broadcast station axis showsfive television stations A, B, C, D and E. As to a display mode shown inFIG. 9, most of broadcast titles described in the broadcast cells forthe respective television stations are written in a “medium” charactersize, which is a currently targeted display character size, and each ofthe broadcast title is described from the first character of thebroadcast title. As to broadcasts each having short broadcasting hours,the broadcast titles are described in a “small” character size or in an“extra small” character size from the first characters of the broadcasttitles. Alternatively, the broadcast titles are not described in therespective broadcast cells for the broadcasts. For example, in abroadcast cell for a broadcast which is broadcasted on the televisionstation A during a 1900 hours time frame, the broadcast title “ABCDEF”is described in the “medium” character size. Further, in a broadcastcell for a broadcast which is broadcasted on the television station B ina first half of a 2000 hours time frame, the broadcast title “abcd” isdescried in the “small” character size. Note that there are fourcharacter sizes, i.e., “large”, “medium”, “small”, and “extra small”character sizes, to be displayed in the respective broadcast cells ofthe present embodiment. Now, a broadcast cell C1 for a broadcast, whichis broadcasted on the television station D from the beginning of the1900 hours time frame till nearly the end of the 2000 hours time frame,will be focused. In the broadcast listing shown in FIG. 9, the whole ofthe broadcast cell is displayed from the beginning of the 1900 hourstime frame till the end of the 2000 hours time frame, and thus abroadcast title “ABCDEFGHIJKL” is described with 12 characters in the“medium” character size in the broadcast cell C1.

Hereinafter, a case will be described where the user performs a scrolloperation with respect to the broadcast listing displayed as abovedescribed in order to display hourly time frames on the right side ofthe broadcast listing, the hourly time frames not being displayedcurrently. As the scroll operation to display the hourly time frames onthe right side, the user scrolls toward the right direction (e.g., bypointing the controller 7 to the right side of the broadcast listing,while pressing the operation button 72 i of the controller 7, or bypressing the right direction of the operation button 72 a (cross key)).In accordance with the scroll operation, the respective broadcast cellscurrently displayed moves to the left, and new broadcast cells, whichare not currently displayed, are to appear from the right side of thebroadcast listing. A moving speed of the each of the broadcast cells isdetermined in accordance with the scroll operation by the user. Forexample, the moving speed and moving direction of each of the broadcastcells are determined in accordance with a distance and a direction fromthe center of the broadcast listing or the center of the display screento a point pointed to by the controller 7.

FIG. 10 shows the broadcast listing in which the time axis moves, due tothe above-described scroll operation, to the right by a time length ofabout 30 minutes from a state of the broadcast listing shown in FIG. 9.Accordingly, the broadcast listing is displayed in which the time axisrepresents three hours ranging from a second half of the 1900 hours timeframe to a second half of 2200 hours time frame and the broadcaststation axis represents five stations, i.e., television stations A, B,C, D and E. In accordance with the scroll display resulting from thescroll operation, portions of new broadcast cells in a 2200 hours timeframe appear from the right side of the broadcast listing (e.g., fortelevision stations A, D and E). On the other hand, with respect to thebroadcast cells in the 1900 hours time frame, due to the above-describedscroll display, the left side portions of the display areas thereof falloutside the display area, and thus are trimmed. In the presentembodiment, a portion of each of the broadcast cells excluding thetrimmed area is regarded as a drawing area, and the broadcast title isdescribed in the drawing area from the first character of the broadcasttitle. Specifically, the broadcast title in each of the broadcast cellis described from a left edge of the broadcast cell excluding thetrimmed area, and thus, at the left edge of the broadcast listing, thebroadcast title is consistently arranged from the first characterthereof in each of the broadcast cells. That is, as is clear when FIG. 9and FIG. 10 are compared with each other, in each of the broadcast cellslocated at the left edge of the broadcast listing, the broadcast titleis displayed as if the broadcast title is not moved even if the scrolloperation is performed.

For example, in the broadcast cell C1, the broadcast title “ABCDEFGHI”is described with nine characters from the first character of thebroadcast title in the “medium” character size. As compared with adisplay state shown in FIG. 9, the number of characters described in thebroadcast cell C1 is decreased by three characters. This is because, inthe broadcast listing shown in FIG. 10, the broadcast title is displayedfrom the second half of the 1900 hours time frame to the end of the 2000hours time frame, and a portion of the drawing area of the broadcastcell C1, the portion corresponding to the first half of the 1900 hourstime frame, is trimmed.

FIG. 11 shows the broadcast listing in which the time axis moves furtherto the left by the time length of about one hour from the state of thebroadcast listing shown in FIG. 10. Accordingly, the broadcast listingis displayed in which the time axis represents three hours ranging fromthe first half of the 2000 hours time frame to the first half of a 2300hours time frame, and the broadcast station axis represents fivestations, i.e., television stations A, B, C, D and E. In accordance withthe scroll display resulting from the scroll operation, portions of newbroadcast cells in the 2300 hours time frame appear from the right sideof the broadcast listing (e.g., for the television stations C and E). Onthe other hand, with respect to the broadcast cells in the 2000 hourstime frame, the left sides of the display areas thereof fall outside thedisplay area due to the scroll display and consequently are trimmed.

For example, in the broadcast cell C1, the broadcast title “ABCD” isdescribed with four characters from the first character of the broadcasttitle in the “medium” character size. As compared with the display stateshown in FIG. 10, the number of characters described in the broadcastcell C1 is further decreased by five characters. The broadcast listingshown in FIG. 11 displays the second half of the 2000 hours time frame,and this results from the fact that a portion of the drawing area of thebroadcast cell C1, the portion corresponding to the time frames rangingfrom the 1900 hours time frame to the first half of the 2000 hours timeframe, is trimmed.

FIG. 12 displays the broadcast listing in which the time axis is furthermoved to the right by the time length of approximately 30 minutes fromthe state of the broadcast listing shown in FIG. 11. Accordingly, thebroadcast listing is displayed in which the time axis represents threehours ranging from the second half of the 2000 hours time frame to thefirst half of the 2300 hours time frame, and the broadcast station axisrepresents five stations, i.e., from television stations A, B, C, D andE. In accordance with the scroll display resulting from the scrolloperation, the left side portions of the display areas of the broadcastcells in the 2000 hours time frame fall outside the display area, andthus are trimmed.

For example, in the broadcast cell C1, the broadcast title “ABCD” isdisplayed with four characters from the first character of the broadcasttitle in a “small” character size in a display form of 2 lines×2columns. As compared with the display state shown in FIG. 11, thecharacter size described in the broadcast cell C1 is reduced, andaccordingly the number of characters described therein is not changed.This is because, in the broadcast listing shown in FIG. 12, only thesecond half of the 2000 hours time frame is displayed, and consequentlya most portion of the drawing area of the broadcast cell C1 is trimmed,the most portion corresponding to the time frames ranging from the 1900hours time frame to the first half of 2000 hours time frame. This isalso because, as a rule, at least three characters of the broadcasttitle are to be displayed on the monitor 2. Specifically, the broadcastcell C1 whose drawing area has been trimmed becomes of a size in whichthree characters cannot be described in the “medium” character size.Instead, the broadcast cell 1 becomes of a size in which four characterscan be described in the “small” character size in the display form of 2lines×2 columns. In this case, in the broadcast cell C1, the broadcasttitle is described in the “small” character size.

FIG. 13 shows a transitional state in which a broadcast title describedin broadcast cell C2 changes in accordance with the scroll display. InFIG. 13, a shaded area indicates a left edge of a display area in whichthe broadcast cells can be displayed, and FIG. 13 shows an example wherein accordance with the scroll operation toward the right performed bythe user, the respective broadcast cells are scrolled towards the leftedge direction. Suppose that, in the broadcast cell C2, a broadcasttitle “ABCDEFGHI” having nine characters is described in the “medium”character size. Also suppose that, as a rule, the broadcast title to bedisplayed in each of the broadcast cells needs to be described at leastwith three characters.

In a state A shown in FIG. 13, the whole area of the broadcast cell C2stays within the display area, and the drawing area of the broadcastcell C2 is of a size in which nine or more characters can be describedin the “medium” character size. Therefore, in the broadcast cell &2 inthe state A, the broadcast title “ABCDEFGHI” is described from the firstcharacter thereof in the “medium” character size.

In a state B shown in FIG. 13, a left edge of the broadcast cell C2 hascontact with the left edge of the display area. In this case, as withthe state A, the drawing area of the broadcast cell C2 is of the size inwhich nine or more characters can be described in the “medium” charactersize. Therefore, in the broadcast cell C2 in the state B, the broadcasttitle “ABCDEFGHI” is described from the first character thereof in the“medium” character size.

In states C and D shown in FIG. 13, the left edge of the broadcast cellC2 falls outside the display area, and thus the drawing area of thebroadcast cell C2 is trimmed. However, the drawing area having beentrimmed is still of the size in which nine or more characters can bedescribed in the “medium” character size. Therefore, in the broadcastcell C2 in each of the states C and D, the broadcast title “ABCDEFGHI”is described as it is in the “medium” character size from the left edgeof the broadcast cell staying within the display area (that is, from theleft edge of the drawing area having been trimmed).

In a state E shown in FIG. 13, the left edge of the broadcast cell C2further falls outside the display area, and thus the drawing area of thebroadcast cell C2 is trimmed. Accordingly, the drawing area having beentrimmed becomes of a size in which six characters can be described inthe “medium” character size. Therefore, in the broadcast cell C2 in thestate E, only six characters of the broadcast title “ABCDEFGHI” aredescribed from the first character thereof in the “medium” charactersize from the left edge of the broadcast cell staying within the displayarea.

In a state F shown in FIG. 13, the left edge of the broadcast cell C2further falls outside the display area, and thus, the drawing area ofthe broadcast cell C2 is further trimmed. Accordingly, the drawing areahaving been trimmed becomes of a size in which four characters can bedescribed in the “medium” character size. Therefore, in the broadcastcell C2 in the state F, only four characters of the broadcast title“ABCDEFGHI” are described from the first character thereof in the“medium” character size from the left edge of the broadcast cell stayingwithin the display area.

In a state G shown in FIG. 13, the left edge of the broadcast cell C2further falls outside the display area, and thus, the drawing area ofthe broadcast cell C2 is further trimmed. Accordingly, the drawing areahaving been trimmed becomes of a size in which four characters can bedescribed in the “small” character size in a display form of 2 lines×2columns. Therefore, in the broadcast cell C2 in the state G, only fourcharacters of the broadcast title “ABCDEFGHI” are described in the“small” character size from the first character thereof in the form of 2lines×2 columns from the left edge of the broadcast cell staying withinthe display area.

In a state H shown in FIG. 13, the left edge of the broadcast cell C2further falls outside the display area, and thus, the drawing area ofthe broadcast cell C2 is further trimmed. Accordingly, the drawing areahaving been trimmed becomes of a size in which six characters can bedescribed in the “extra small” character size in a display form of 3lines×2 columns. Therefore, in the broadcast cell C2 in the state H,only six characters of the broadcast title “ABCDEFGHI” are described inthe “extra small” character size from the first character thereof in thedisplay form of 3 lines×2 columns from the left edge of the broadcastcell staying within the display area.

In a state I shown in FIG. 13, the left edge of the broadcast cell C2further falls outside the display area, and thus, the drawing area ofthe broadcast cell C2 is further trimmed. Accordingly, the drawing areahaving been trimmed becomes of a size in which three characters can bedescribed in the “extra small” character size in a display form of 3lines×1 column. Therefore, in the broadcast cell C2 in the state I,three characters of the broadcast title “ABCDEFGHI” are described fromthe first character thereof in the “extra small” character size in thedisplay form of 3 lines×1 column from the left edge of the broadcastcell staying within the display area. When the left edge of thebroadcast cell C2 further falls outside the display area from the stateI shown in FIG. 13, and the drawing area having been trimmed becomes ofa size in which three characters cannot be described even in the “extrasmall” character size, then no broadcast title is displayed in thebroadcast cell.

Next, display control processing performed on the game system 1 will bedescribed in detail. First, with reference to FIGS. 14 and 15, majordata used in the display control processing will be described. FIG. 14is a diagram showing an example of the major data stored in the externalmain memory 12 and/or the internal main memory 35 (hereinaftercollectively referred to as a main memory) of the game apparatus body 5.FIG. 15 is a diagram showing, in detail, exemplary contents of broadcastcell data Db2 shown in FIG. 14.

As shown in FIG. 14, operation information Da, broadcast listing data Dband the like are stored in the main memory. In the main memory, inaddition to the data included in the information shown in FIG. 14, datanecessary for information processing and the display control processingis stored as appropriate.

The operation information Da stores therein the series of pieces of theoperation information (the key data, the acceleration data and theprocess result data) transmitted from the controller 7 as thetransmission data, and the operation information is updated to latestoperation information. The operation information Da includes firstcoordinate point data Da1 and second coordinate point data Da2 whichcorrespond to the positional information of the process result data. Thefirst coordinate point data Da1 represents data indicative of a positionof an image of either of the markers 8L and 8R with respect to the imagepicked up by the image pick up element 743 (a position within the pickedup image). The second coordinate point data Da2 represents dataindicative of a position of an image (a position within the picked upimage) of the other marker. For example, the positions of the images ofthe markers in the picked up image are represented by an xy coordinatesystem in the picked up image.

The operation information Da includes key data Da3 and the like obtainedfrom the operation section 72, in addition to the coordinate point data(first coordinate point data Da1 and the second coordinate point dataDa2), which is exemplary process result data obtained from the picked upimage. The wireless controller module 19 provided in the game apparatusbody 5 receives the series of pieces of operation informationtransmitted from the controller 7 at a predetermined interval of 5 ms,for example, and stores the operation information in a buffer (notshown) provided in the wireless controller module 19. The latestoperation information stored in the buffer is read at the interval ofone frame (e.g., 1/60 sec.), which is an interval of the game process,and the operation information Da stored in the main memory is updated.

The broadcast listing data Db stores therein information for displayingthe broadcast listing on the monitor 2. The broadcast listing data Dbincludes display area coordinate point data Db1, broadcast cell dataDb2, scroll vector data Db3, targeted display character size data Db4,image data Db5 and the like.

The display area coordinate point data Db1 stores therein the coordinatepoint data indicative of a position of a display area, in the broadcastlisting, to be displayed on the monitor 2 (e.g., positions of a left topcorner and a right bottom corner of the display area). The broadcastcell data Db2 stores therein data indicative of information onrespective broadcast cells included in the broadcast listing, which willbe described later in detail. The scroll vector data Db3 stores thereindata indicative of a scroll speed and a scroll direction (a scrollvector scv) on the broadcast listing, which are set by operation inputby the user. The targeted display character size data Db4 stores thereindata indicative of a targeted character size for displaying thebroadcast listing, i.e., a targeted display character size (for example,set by the user's operation). The image data Db5 stores therein dataindicative of various images so as to display the broadcast listing onthe monitor 2.

As shown in FIG. 15, information included in the broadcast cell data Db2is updated as appropriate by using electronic broadcast listing datawhich is obtained through communication with various servers connectedto the network via the wireless communication module 18 and the antenna22. The broadcast cell data Db2 is set for each of the broadcast cellsarranged in the broadcast listing. The broadcast cell data Db2 includesa broadcast cell number Db2 a, broadcast title character string data Db2b, number-of-broadcast-title-characters data Db2 c, television stationdata Db2 d, broadcast cell coordinate point data Db2 e, drawing areawidth data Db2 f, drawing-area height data Db2 g, drawing character sizedata Db2 h, drawable-number-of-lines data Db2 i,drawable-number-of-characters data Db2 j, drawing start point data Db2 kand the like which are set to each of the broadcast cells.

The broadcast cell number Db2 a stores therein sequential numbers whichare each set to each of the broadcast cells (e.g., broadcast cell number“1.” as shown in FIG. 15). The broadcast title character string data Db2b stores therein character string data indicative of the broadcast title(e.g., broadcast title character string “ABCDEFGH” as shown in FIG. 15)to be described in each of the broadcast cells. Thenumber-of-broadcast-title-characters data Db2 c stores therein thenumber of characters of the broadcast title in each of the broadcastcells (e.g., the number of the broadcast title characters “8” as shownin FIG. 15). The television station data Db2 d stores therein dataindicative of the television station (e.g., television station “A” asshown in FIG. 15) with respect to which each of the broadcast cells isarranged. The broadcast cell coordinate point data Db2 e stores thereindata indicative of a position of each of the broadcast cells in thebroadcast listing (e.g., a left top corner coordinate point (xsa, ysa)and a right bottom corner coordinate point (xsb, ysb) as shown in FIG.15). The drawing area width data Db2 f stores therein data indicative ofa drawing area width of each of the broadcast cells, the width in whichthe broadcast title is drawable (e.g., a drawing area width “dw” asshown in FIG. 15). The drawing area height data Db2 g stores thereindata indicative of a drawing area height of each of the broadcast cells,the height in which the broadcast title is drawable (e.g., a drawingarea height “dh” as shown in FIG. 15). The drawing character size dataDb2 h stores therein data indicative of the character size of thebroadcast title to be described in each of the broadcast cells (e.g.,the “small” character size as shown in FIG. 15). Thedrawable-number-of-lines data Db2 i stores therein data indicative ofthe number of lines in each of the broadcast cells, the lines on whichthe broadcast title is drawable (e.g., the drawable number of lines “2”as shown in FIG. 15). The drawable-number-of-characters data Db2 jstores therein data indicative of the number of characters of thebroadcast title drawable in each of the broadcast cells (e.g., thedrawable number of characters “4” as shown in FIG. 15). The drawingstart point data Db2 k stores therein data indicative of a point of thedrawing area of the broadcast cell in the case where the drawing area ispartially trimmed, the point from which the first character of thebroadcast title is drawn (e.g., the left top corner coordinate point(xsc, ysc) on the drawing area having been trimmed as shown in FIG. 15).

With reference to FIGS. 16 to 26, the display control processingperformed on the game apparatus body 5 will be described in detail. FIG.16 is a flowchart showing an exemplary flow of the display controlprocessing performed on the game apparatus body 5. FIG. 17 is asub-routine showing, in detail, an operation of the drawing area widthcalculation processing in step 57 shown in FIG. 16. FIG. 18 is asub-routine showing, in detail, an operation of the broadcast listingdisplay updating processing in step 58 shown in FIG. 16. FIG. 19 is asub-routine showing, in detail, an operation of thedrawable-number-of-characters calculation processing in step 98 shown inFIG. 18. FIG. 20 is a sub-routine showing, in detail, the broadcast celldrawing processing in step 103 shown in FIG. 18. FIG. 21 is a graphshowing a first exemplary setting of a magnitude va of the scroll vectorscv. FIG. 22 is a graph showing a second exemplary setting of themagnitude va of the scroll vector scv. FIG. 23 is a diagram illustratingan exemplary setting of the display area of the broadcast listing. FIG.24 is a diagram illustrating an exemplary setting of the display area inaccordance with the scroll operation. FIG. 25 is a diagram showingexemplary settings of the drawing area width dw and the drawing areaheight dh which are set with respect to each of the broadcast cells.FIG. 26 is a diagram showing exemplary settings of the drawing areawidth dw, the drawing area height dh, and the drawing start point (xsc,ysc) which are set in the case where a portion of the broadcast cellstays within the display area. In each of the flowcharts shown in FIGS.16 to 20, among the display control processing, processing of displayingcharacters in the broadcast cell on the monitor 2 will be mainlydescribed. Description of other processing not directly relating to thepresent invention will be omitted. As shown in FIGS. 16 to 20, each stepexecuted by the CPU 10 is abbreviated as “S”.

When the power button 24 of the game apparatus body 5 is turned on, theCPU 10 of the game apparatus body 5 executes the start-up program storedin the ROM/RTC 13, whereby respective component units such as the mainmemory are initialized. The display control program stored on theoptical disc 4 or another storage medium is read into the main memory,and the CPU 10 causes execution of the display control program to beready. The flowchart shown in FIG. 16 indicates the display controlprocessing performed after completion of the above-described processing.

As shown in FIG. 16, the CPU 10 performs an initial setting (step 51)and proceeds to the subsequent step. For example, in the initial settingin step 51, various pieces of information descried in the broadcast celldata Db2 is updated to the latest information as appropriate by usingthe electronic broadcast listing data obtained through communicationwith various servers connected to the network via the wirelesscommunication module 18 and the antenna 22, and then the initial settingof the broadcast listing is performed. Also in the initial setting instep 51, respective parameters for displaying the broadcast listing areinitialized. For example, the CPU 10 sets parameters indicated byrespective pieces of data stored in the main memory to default values,respectively.

The CPU 10 performs display processing of the broadcast listing (step52), and proceeds to the subsequent step. Specifically, the CPU 10generates the broadcast listing in accordance with a state of thedefault setting set in step 51, and displays the generated broadcastlisting on the monitor 2.

The CPU 10 obtains the operation information received from thecontroller 7 (step 53), and then proceeds to the subsequent step. TheCPU 10 then updates the operation information Da by using the obtainedlatest operation information. The operation information obtained in step53 includes key data indicative of how the operation section 72 of thecontroller 7 is operated, in addition to the process result dataindicative of the positions of the markers 8L and 8R on the picked upimage. The communication section 75 transmits the operation informationto the game apparatus body 5 at a predetermined time interval (e.g., atthe interval of 5 ms). The CPU 10 then uses the transmitted latestoperation information on a frame-by-frame basis, and updates the firstcoordinate point data Da1, the second coordinate point data Da2 and keydata Da3.

The CPU 10 determines whether or not the user has performed the scrolloperation of the broadcast listing (step 54). Specifically, the CPU 10refers to the first coordinate point data Da1, the second coordinatepoint data Da2 and key data Da3 which are included in the operationinformation Da, and determines a content of an operation performed bythe user. For example, when the user presses the operation button 72 aor the operation button 72 i, the CPU 10 determines that the scrolloperation of the broadcast listing is performed. When the user performsthe scroll operation of the broadcast listing (Yes in step 54), the CPU10 proceeds to subsequent step 55. On the other hand, the user performsan operation different from the scroll operation of the broadcastlisting (No in step 54), the CPU 10 performs another processing inaccordance with an operation performed by the user (step 60), andproceeds to subsequent step 58.

In step 55, in accordance with the operation information obtained instep 53, the CPU 10 calculates the scroll vector scv indicative of thescroll speed and the scroll direction corresponding to the operationperformed by the user, updates the scroll vector data Db3, and thenproceeds to the subsequent step. Hereinafter, an exemplary calculationof the scroll vector scv will be described.

For example, when the user performs the scroll operation by pressing theoperation button 72 i, the scroll vector scv is calculated in accordancewith a position pointed to by the controller 7. In order to calculatethe position pointed to by the controller 7, the CPU 10 calculates adirection from a point indicated by the first coordinate point data Da1to a point indicated by the second coordinate point data Da2, and amiddle point between the point indicated by the first coordinate pointdata Da1 and the point indicated by the second coordinate point dataDa2. When the number of target images (markers 8L and 8R) in the pickedup image is considered as one, the middle point indicates a position inthe one image. In accordance with a difference between the middle pointand a predetermined reference point, a change in the position of theimage can be calculated, the change being caused by a change in aposition of the controller 7 with respect to the monitor 2.

Here, a positional relation among the markers 8L and 8R, the displayscreen of the monitor 2, and the controller 7 will be considered. Forexample, a case will be considered where two markers 8L and 8R arelocated on the top surface of the monitor 2 (see FIG. 1), and the userpoints the controller 7 to a central part of the display screen of themonitor 2 while orientating the top surface of the controller 7 upward(that is, in a state where the central part of the display screen islocated at a central part of the image picked up by the imaginginformation calculation section 74). In this case, in the image pickedup by the imaging information calculation section 74, the middle pointof the target image (a middle point between the markers 8L and 8R) doesnot correspond to the central part of the picked up image. Specifically,the target image is located at a position above the central part of thepicked up image. A reference position is set such that the controller 7points the central part of the display screen when the target image islocated at such position. On the other hand, when the position pointedto by the controller 7 is moved, the position of the target image in thepicked up image also moves (to the direction opposite to the movingdirection of the controller 7). Therefore, processing is performed so asto move the pointed to position on the display screen in accordance withthe movement of the position of the target image on the picked up image,whereby it is possible to calculate a position on the display screenpointed to by the controller 7.

In order to set the reference position, the user may previously pointsto a predetermined position on the display screen so as to correlate theposition of the target image at that time point with the predeterminedposition and so as to store the correlation. Alternatively, when thepositional relation between the target image and the display screen isfixed, the reference position may be set previously. In this manner, thepointed to position on the display screen is calculated based on thelinear transformation which uses a function for calculating, from themiddle point, a coordinate point on the display screen of the monitor 2.The function converts a value of the coordinate point of the middlepoint calculated based on a picked up image into a position pointed toby the controller 7 on the display screen when the picked up image ispicked up by the controller 7. By using the function, the pointed toposition on the display screen can be calculated based on the coordinatepoint of the middle point. When the user points the controller 7 to thedisplay screen of the monitor 2 while orientating the top surface of thecontroller 7 toward a direction except for the upward direction (e.g.,toward the right direction), the coordinate point of the middle point iscorrected by using the direction stored in the direction data Db1, andthe pointed to position on the display screen is calculated by using thecorrected middle point.

The CPU 10 further converts the calculated pointed to position on thedisplay screen into a position (position-to-be-pointed-to) on thebroadcast listing corresponding thereto. For example, theposition-to-be-pointed-to on the broadcast listing corresponding to thepointed to position on the display screen is perspectively projected toa position of the broadcast listing displayed on the display screen ofthe monitor 2. The CPU 10 then sets the direction of the scroll vectorscv in accordance with a direction from a scroll reference point on thecorresponding broadcast listing (e.g., a central position of thebroadcast listing displayed on the monitor 2) to the above-describedposition-to-be-pointed-to. Further, the CPU 10 sets the magnitude va ofthe scroll vector scv in accordance with a distance from the scrollreference point to the position-to-be-pointed-to.

With reference to FIG. 21, an exemplary setting of the scroll vector scvwill be described in the case where the user performs the scrolloperation by continuously pressing the operation button 72 i. The CPU 10sets a maximum value vamax of the magnitude va of the scroll vector scvin accordance with the distance from the scroll reference point to theposition-to-be-pointed-to. For example, the CPU 10 sets the maximumvalue vamax to a larger value when the distance from the scrollreference point to the position-to-be-pointed-to is longer. As shown inFIG. 21, the CPU 10 sets the magnitude va so as to gradually increasefrom 0 to the maximum value vamax until a moving distance of thebroadcast listing caused by scrolling (hereinafter, the moving distancereferred to as a scroll distance) reaches a predetermined distance.Thereafter, the maximum value vamax is kept constant. As will becomeclear later, the scroll vector scv is set in this manner, whereby thebroadcast listing is scrolled in accordance with the direction pointedto by the controller 7, and accordingly, the scroll operation can beperformed such that when the position pointed to by the controllerfarther from the scroll reference point, the scroll speed becomesfaster.

With reference to FIG. 22, an exemplary setting of the scroll vector scvwill be described in the case where the user performs the scrolloperation by continuously pressing the operation button 72 a (crosskey). The CPU 10 sets the maximum value vamax of the magnitude va of thescroll vector scv to a predetermined value. The CPU 10 then sets thedirection of the scroll vector scv to any one of upward, downward, rightand left directions, in accordance with the direction to which theoperation button 72 a is pressed. As shown in FIG. 22, when the scrolldirection corresponds to the time axis direction of the broadcastlisting, the CPU 10 sets the magnitude va to be increased or decreasedwhen the scroll distance reaches a distance corresponding to 30 minutesor one hour of the broadcast listing. Specifically, when the scrolloperation starts, the CPU 10 sets the magnitude va to gradually increasefrom 0 to a first local maximal value vap1, which is lower than themaximum value vamax, until the scroll distance reaches the distancecorresponding to 30 minutes of the broadcast listing. The CPU 10thereafter sets the magnitude va to decrease gradually from the firstlocal maximal value vap1 to 0 until the scroll distance reaches thedistance corresponding to one hour of the broadcast listing. Further,the CPU 10 sets the magnitude va to again increase gradually from 0 to asecond local maximal value vap2, which is lower than the maximum valuevamax, and is greater than the first local maximal value vap1, when thescroll distance changes from the distance corresponding to one hour ofthe broadcast listing to a distance corresponding to one and a half hourof the broadcast listing. Thereafter, the CPU 10 sets the magnitude vato again decrease gradually from the second local maximal value vap2 to0 until the scroll distance reaches the distance corresponding to twohours of the broadcast listing. In a similar manner, the CPU 10gradually increases/decreases the magnitude va such that the maximumvalue vamax becomes equal to the local maximal value. The CPU 10 setsthe magnitude va to increase gradually from 0 to the maximum valuevamax, and thereafter the maximum value vamax is kept constant. As willbe clear later, by setting the scroll vector scv in this manner,scrolling is performed moderately in accordance with the time unit ofthe broadcast listing, and the broadcast listing is scroll-displayed inaccordance with the direction to which the cross key is pressed.

The CPU 10 then updates the coordinate point of the display area inaccordance with the scroll vector scv (step 56), and proceeds to thesubsequent step. Specifically, in accordance with the calculated scrollvector scv, coordinate points indicative of the left top corner and theright bottom corner of the display area are calculated, and the displayarea coordinate point data Db1 is then updated.

Hereinafter, with reference to FIGS. 23 and 24, an exemplary setting ofthe display area will be described. As shown in FIG. 23, a positionarranged based on the coordinate system set on the broadcast listing isset as a position of the display area. For example, the broadcastlisting is set such that the vertical axis represents a broadcaststation axis, and the horizontal axis represents the time axis. Thecoordinate system (hereinafter referred to as a broadcast listingcoordinate point), in which a position at the left top corner of thebroadcast listing represents a coordinate point (x0, y0), and a positionat the right bottom corner of the broadcast listing represents acoordinate point (xmax, ymax), is set to the broadcast listing. Thedisplay area is arranged at a portion in the broadcast listing. Forexample, a position at the left top corner (coordinate point (xa, ya))and a position at the right bottom corner (coordinate point (xb, yb)) ofthe display area is set on the broadcast listing coordinate system,whereby a location and a size of the display area are determined.

As shown in FIG. 24, in step 56, in accordance with the scroll vectorscv set by the user's operation, the position of the left top corner(coordinate point (xa, ya)) and the position of the right bottom corner(coordinate point (xb, yb)) of the display area are moved on thebroadcast listing coordinate system, whereby the coordinate points ofthe display area are updated. For example, when the scroll vector SCVhas the magnitude va and points to the right direction of the broadcastlisting, the position of the left top corner and the position of theright bottom corner of the display area on the broadcast listingcoordinate system move to a coordinate point (xa+va, ya) and acoordinate point (xb+va, yb), respectively. In this manner, the displayarea moves in accordance with the magnitude of the scroll vector scv,which represents the scroll speed, and the direction of the scrollvector scv, which represents the scroll direction. In other words, thedisplay area moves in accordance with the magnitude va of the scrollvector scv, which is regarded as a moving distance per unit time.Accordingly, the magnitude va of the scroll vector scv corresponds tothe scroll speed. Therefore, the display control processing describedlater is performed in units of dots of display image corresponding tothe scroll speed. For example, in the case where the magnitude va of thescroll vector scv is 1 dot of the display image, the display area alsomoves in units of 1 dot, and the display control processing to bedescribed later is also performed in units of 1 dot.

With reference back to FIG. 16, after processing in step 56, the CPU 10performs drawing area width calculation processing (step 57), andproceeds to subsequent step 58. Hereinafter, with reference to FIG. 17,the drawing area width calculation processing performed in step 57 willbe described.

As shown in FIG. 17, the CPU 10 sets a variable N to 1 (step 81), thevariable N indicating the broadcast cell number to be processed, andproceeds to the subsequent step.

The CPU 10 compares the coordinate points of the broadcast cell havingthe broadcast cell number N with the display area coordinate points(step 82), and determines whether or not the broadcast cell stays withinthe display area (step 83), and also determines whether or not the leftside portion of the broadcast cell falls outside the display area (step84). When the left side portion of the broadcast cell having thebroadcast cell number N falls outside the display area and the rightside portion of the broadcast cell stays within the display area (Yes instep 83, and Yes in step 84), the CPU 10 proceeds to subsequent step 85.When the whole portion of the broadcast cell having the broadcast cellnumber N stays within the display area, or when the right side portionof the broadcast cell having the broadcast cell number N falls outsidethe display area and the left side portion of the broadcast cell stayswithin the display area (Yes in step 83, and No in step 84), the CPU 10proceeds to subsequent step 86. When the whole portion of the broadcastcell having the broadcast cell number N falls outside the display area(No in step 83), the CPU 10 proceeds to subsequent step 88.

For example, as shown in FIG. 25, a rectangular drawing area is setwithin the broadcast cell. A size of the drawing area is defined by adrawing area width dw and a drawing area height dh. The position of thebroadcast cell is defined by a left top corner position (coordinatepoint (xsa, ysa)) and a right bottom corner position (coordinate point(xsb, ysb)) of the drawing area, which are based on the broadcastlisting coordinate system, and data indicative of the coordinate pointsis stored in the broadcast cell coordinate point data Db2 e. Inabove-described step 83 and step 84, the CPU 10 refers to the broadcastcell coordinate point data Db2 e and display area coordinate point dataDb1 of the broadcast cell number N, and then obtains the let top cornercoordinate point (xsa, ysa) and the right bottom corner coordinate point(xsb, ysb) of the broadcast cell having the broadcast cell number N, andthe left top corner coordinate point (xa, ya) and the right bottomcorner coordinate point (xb, yb) of the display area. Accordingly, byusing the coordinate points, the positional relation between thebroadcast cell having the broadcast cell number N and the display areais analyzed.

In step 85, the CPU 10 calculates a portion of the drawing area width dwof the broadcast cell having broadcast cell number N, the portion of thedrawing area width dw staying within the display area, and proceeds tosubsequent step 87. For example, as shown in FIG. 26, when the left sideportion of the broadcast cell falls outside the display area, a widthfrom the left edge of the display area to a right edge of the drawingarea of the broadcast cell is calculated as the drawing area width dw.

In step 86, the CPU 10 uses the drawing area width dw corresponding tothe time axis currently being set, and sets the drawing area width dw ofthe broadcast cell having the broadcast cell number N. The CPU 10 thenproceeds to subsequent step 87. For example, when the default value setin step 51 or the time axis is changed, the CPU 10 sets the drawing areawidth dw of the broadcast cell having the broadcast cell number N inaccordance with the time axis currently being set. In step 86, when astate in which a portion of the drawing area of the broadcast cellhaving the broadcast cell number N falls outside the display area ischanged to a state in which the whole portion of the drawing area stayswithin the display area, the drawing area width dw needs to be changed.In the case of other states than this, the drawing area width dw is notchanged and is kept constant. Accordingly, in the case where the drawingarea width dw is constant, processing in step 86 may be omitted. In thiscase, only when the state in which the portion of the drawing area inthe broadcast cell having the broadcast cell number N falls outside thedisplay area is changed to the state in which the whole of the drawingarea stays within the display area, above-described step 86 isperformed.

In step 87, the CPU 10 uses the drawing area width dw calculated in step85 or the drawing area width dw set in step 86, and updates the drawingarea width data Db2 f of the broadcast cell number N. The CPU 10 thenproceeds to subsequent step 88.

In step 88, the CPU 10 determines that the current variable N representsthe last number (Nmax) of serial numbers which are written in thebroadcast cell data Db2 and which are provided to the respectivebroadcast cells. In the case of N<Nmax, the CPU 10 adds 1 to the currentvariable N (step 89), and repeats the processing after returning back tostep 82. On the other hand, in the case of N=Nmax, the CPU 10 terminatesthe processing in the sub-routine.

With reference back to FIG. 16, after processing in step 57 or step 60,the CPU 10 performs broadcast listing display updating processing (step58), and proceeds to subsequent step 59. Hereinafter, with reference toFIG. 18, the broadcast listing display updating processing performed instep 58 will be described.

As shown in FIG. 18, the CPU 10 selects any one of the televisionstations (see FIG. 23) displayed in line respectively along the timeaxis of the broadcast listing (step 91). The CPU 10 determines whetheror not a top edge of a display range of the selected television stationis lower than the display area (step 92), and also determines whether ornot a bottom edge of the display range of the selected televisionstation is higher than the display area (step 93). When at least aportion of the display range of the selected television station stayswithin the display area (No in steps 92 and 93), the CPU 10 proceeds tosubsequent step 94. On the other hand, when the whole portion of thedisplay range of the selected television station falls outside thedisplay area (Yes in step 92 or in step 92), the CPU 10 proceeds tosubsequent step 106. For example, with regard to television stations B,C, D, E and F shown in FIG. 23, at least a portion of the display rangeof each of the television stations stays within the display area. On theother hand, with regard to television stations A and G, the wholeportion of the display range of each of the television stations fallsoutside the display area.

In step 94, the CPU 10 selects any one of the broadcast cells includedin the television station currently selected. The CPU 10 determineswhether or not a right edge of a drawing range of the selected broadcastcell is located to the left of the display area (step 95), and alsodetermines whether or not a left edge of the drawing range of theselected broadcast cell is located to the right of the display area(step 96). When at least a portion of the drawing range of the selectedbroadcast cell stays within the display area (No in steps 95 and 96),the CPU 10 proceeds to subsequent step 97. On the other hand, the wholeportion of the drawing range of the selected broadcast cell fallsoutside the display area (Yes in step 95 or step 96), the CPU 10proceeds to subsequent step 105. For example, when the televisionstation C shown in FIG. 23 is selected, at least portions of the drawingranges of broadcasts C1, C2, C3 and C4, respectively, stay within thedisplay area. On the other hand, the whole portion of the drawing rangeof a broadcast cell C5 falls outside the display area.

In step 97, the CPU 10 changes the drawing character size of thebroadcast cell currently selected by using the currently targeteddisplay character size, and proceeds to the subsequent step.Specifically, the CPU 10 refers to the targeted display character sizedata Db4 so as to obtain the targeted display character size, andupdates the drawing character size data Db2 h of the broadcast cellcurrently selected by using the targeted display character size.

The CPU 10 then performs the drawable-number-of-characters calculationprocessing (step 98), and proceeds to the subsequent step. Hereinafter,with reference to FIG. 19, an operation of thedrawable-number-of-characters calculation processing will be describedin detail.

As shown in FIG. 19, the CPU 10 sets the current number of characters to0 (step 111), and also sets the drawable number of characters to 0 (step112). The CPU 10 calculates the number of character lines drawable inthe drawing area of the currently selected broadcast cell (step 113).The CPU 10 sets a current number of lines to 1 (step 114), and proceedsto the subsequent step. For example, in step 113, the CPU 10 refers tothe drawing area height data Db2 g of the currently selected broadcastcell, and obtains the drawing area height dh. The CPU 10 refers to thedrawing character size data Db2 h of the currently selected broadcastcell, and obtains the drawing character size. The CPU 10 then calculatesthe drawable number of character lines by dividing the obtained drawingarea height dh by a line height previously set to the obtained drawingcharacter size, thereby updating the drawable-number-of-lines data Db2 iof the currently selected broadcast cell.

The CPU 10 determines whether or not the current number of lines exceedsthe number of character lines drawable in the currently selectedbroadcast cell (step 115). For example, the CPU 10 refers to thedrawable-number-of-lines data Db2 i of the currently selected broadcastcell so as to obtain the drawable number of character lines, anddetermines whether or not the current number of lines exceeds thedrawable number of character lines. When the current number of linesdoes not exceed the number of character lines drawable in the currentlyselected broadcast cell, the CPU 10 proceeds to subsequent step 116. Onthe other hand, when the current number of lines exceeds the number ofcharacter lines drawable in the currently selected broadcast cell, theCPU 10 proceeds to subsequent step 122.

In step 116, the CPU 10 sets a current width to 0. The CPU 10 thendetermines whether or not the current number of characters reaches thenumber of characters of a broadcast title described in the currentlyselected broadcast cell (step 117). For example, the CPU 10 refers tothe number-of-broadcast-title-characters data Db2 c of the currentlyselected broadcast cell so as to obtain the number of characters of thebroadcast title, and determines whether or not the current number ofcharacters reaches the number of characters of the broadcast title. Whenthe current number of characters does not reach the number of charactersof the broadcast title described in the currently selected broadcastcell, the CPU 10 proceeds to subsequent step 118. On the other hand,when the current number of characters reaches the number of charactersof the broadcast title described in the currently selected broadcastcell, the CPU 10 proceeds to subsequent step 122.

In step 118, the CPU 10 adds a width of a subsequent character to thecurrent width. Then the CPU 10 determines whether or not the currentwidth having been added has exceeded a width of the drawing area (step119). That is, the CPU 10 determines whether or not the current numberof characters having been added exceeds the number of charactersdrawable in the current lines. For example, the CPU 10 refers to thedrawing area width data Db2 f of the currently selected broadcast cell,and obtains the drawing area width dw. The CPU 10 compares the obtaineddrawing area width dw with the current width, and determines whether ornot the current width having been added exceeds the width of the drawingarea. When the current width having been added does not exceed the widthof the drawing area, the CPU 10 adds 1 to the current number ofcharacters (step 120), and repeats the processing after returning backto step 117. On the other hand, when the current width having been addedexceeds the width of the drawing area, the CPU 10 adds 1 to the currentnumber of lines (step 121), and repeats the processing after returningback to step 115. In this manner, the number of characters drawable inthe respective lines in the currently selected broadcast cell iscalculated on a line-by-line basis.

Here, the width of the subsequent character explained in step 118represents a width of a character to be described subsequent tocharacters which are counted as the current number of characters alreadydescribed in the currently selected broadcast cell as a part of thebroadcast title characters. For example, when the current number ofcharacters is “2” in exemplary broadcast cell data Db2 shown in FIG. 15,the character width of a character “C” described subsequently isregarded as the subsequent character width. Generally, in most cases,the character width varies even if the character size and a font styleare constant. For example, in above-described step 118, font datapreviously set in the game apparatus body 5 is referred to, and then thecharacter widths for respective character types are obtained. Therefore,the number of characters drawable in each of the lines in the broadcastcell varies from one line to another.

When it is determined Yes in step 115, or when it is determined Yes instep 117, the CPU 10 sets the number of characters drawable in thecurrently selected broadcast cell by using the current number ofcharacters (step 122), and terminates the processing in the sub-routine.For example, the CPU 10 updates the drawable-number-of-characters dataDb2 i of the currently selected broadcast cell by using the currentnumber of characters. When it is determined Yes in step 115, the currentnumber of lines exceeds the number of lines drawable in the currentlyselected broadcast cell. That is, the number of characters exceeding thecurrent number of characters cannot be drawn in the drawing area of thecurrently selected broadcast cell. On the other hand, when it isdetermined Yes in step 117, the current number of characters reaches thenumber of characters of the broadcast title described in the currentlyselected broadcast cell. That is, there are no more characters than thecurrent number of characters to be described in the drawing area of thecurrently selected broadcast cell. In this manner, in thedrawable-number-of-characters calculation processing, the drawingcharacter size set to the broadcast cell is used as a reference, andwhen the number of characters described in the broadcast cell reaches amaximum number of characters drawable in the broadcast cell or reachesthe number of the characters of the broadcast title to be described, theCPU 10 calculates and considers either of the numbers of characters asthe drawable number of characters.

With reference back to FIG. 18, after the drawable-number-of-characterscalculation processing in step 98, the CPU 10 determines whether or notthe number of characters drawable in the currently selected broadcastcell is the same as the number of characters of the broadcast title(step 99). For example, the CPU 10 refers to thenumber-of-broadcast-title-characters data Db2 c anddrawable-number-of-characters data Db2 j of the currently selectedbroadcast cell so as to obtain the number of characters of the broadcasttitle and the drawable number of characters, and determines whether ornot the drawable number of characters and the number of characters ofthe broadcast title having been obtained are equal to each other. Whenthe drawable number of characters is different from the number ofcharacters of the broadcast title, the CPU 10 proceeds to subsequentstep 100. On the other hand, when the drawable number of characters isequal to the number of characters of the broadcast title, the CPU 10proceeds to subsequent step 103.

In step 100, the CPU 10 determines whether or not the number ofcharacters drawable in the currently selected broadcast cell is three ormore. For example, the CPU 10 refers to thedrawable-number-of-characters data Db2 j of the currently selectedbroadcast cell so as to obtain the drawable number of characters, anddetermines whether or not the obtained number of characters is three ormore. When the drawable number of characters is two or lower, the CPU 10proceeds to subsequent step 101. On the other hand, when the drawablenumber of characters is three or more, the CPU 10 proceeds to subsequentstep 103.

In step 101, the CPU 10 determines whether or not the drawing charactersize applied to the currently selected broadcast cell is a minimum size.For example, the CPU 10 refers to the drawing character size data Db2 hof the currently selected broadcast cell so as to obtain the drawingcharacter size, and determines whether or not the obtained drawingcharacter size is the minimum character size (e.g., the “extra small”character size) When the drawing character size is not the minimumcharacter size, the CPU 10 sets the drawing character size smaller byone level and updates the drawing character size data Db2 h of thecurrently selected broadcast cell (step 102). The CPU 10 then returnsback to step 98 and repeats the processing. On the other hand, when thedrawing character size is the minimum size, the CPU 10 proceeds tosubsequent step 104.

In step 103, the CPU 10 performs the broadcast cell drawing processing,and proceeds to subsequent step 105. Hereinafter, with reference to FIG.20, an operation of the broadcast cell drawing processing will bedescribed in detail.

As shown in FIG. 20, the CPU 10 compares the broadcast cell coordinatepoints of the currently selected broadcast cell with the display areacoordinate points, and determines whether or not the left side portionof the broadcast cell falls outside the display area (step 131). Whenthe whole portion of the currently selected broadcast cell stays withinthe display area, or when the right side portion of the broadcast cellfalls outside the display area and the left side portion of thebroadcast cell stays within the display area, the CPU 10 proceeds tosubsequent step 132. On the other hand, when the left side portion ofthe currently selected broadcast cell falls outside the display area(that is, the right side portion of the broadcast cell stays within thedisplay area), the CPU 10 proceeds to subsequent step 133. Inabove-described step 131, the CPU 10 refers to the broadcast cellcoordinate point data Db2 e and the display area coordinate point dataDb1 of the currently selected broadcast cell, and obtains the left topcorner coordinate point (xsa, ysa) and the right bottom cornercoordinate point (xsb, ysb) of the broadcast cell, and the left topcorner coordinate point (xa, ya) and the right bottom corner coordinatepoint (xb, yb) of the display area. By using the coordinate points, theCPU 10 analyzes the positional relation between the broadcast cell andthe display area.

In step 132, the CPU 10 arranges and draws, from the left edge of thedrawing area of the currently selected broadcast cell, characters withthe drawable number of characters in the set drawable character size,and terminates the processing in the sub-routine. For example, the CPU10 refers to the broadcast cell data Db2 of the currently selectedbroadcast cell, and horizontally arranges and draws, from the left edgeof the drawing area of the broadcast cell, a character string with thedrawable number of characters in a set drawing character size, thecharacter string constituting a broadcast title in the broadcast cell.When the drawable number of characters is set with respect to aplurality of lines in the drawing area of the broadcast cell, thecharacter string of the broadcast title is arranged and drawn by usingthe plurality of lines in the drawing area. In this manner, the leftedge of the drawing area of the broadcast cell functions as a drawingstart point, and when the drawing start point is arranged within thedisplay area, the broadcast title is described from the drawing startpoint (that is, the left edge of the drawing area).

On the other hand, in step 133, the CPU 10 sets the drawing start pointto a left top corner position of an area which is a portion of thedrawing area of the broadcast cell and which stays within the displayarea, updates the drawing start point data Db2 k of the broadcast cell,and then proceeds to the subsequent step. For example, the CPU 10 refersto the broadcast cell coordinate point data Db2 e of the currentlyselected broadcast cell and the display area coordinate point data Db1,and obtains the left top corner coordinate point (xsa, ysa) and theright bottom corner coordinate point (xsb, ysb) of the currentlyselected broadcast cell, and the left top corner coordinate point (xa,ya) and the right bottom corner coordinate point (xb, yb) of the displayarea. The CPU 10 then calculates the drawing start point (xsc, ysc) byusing these coordinates points. Specifically, when the broadcast celland display area are in a positional relation as shown in FIG. 26, atime axis coordinate value (horizontal coordinate) of the drawing startpoint corresponds to a time axis coordinate value of the left top cornercoordinate point of the display area, and a broadcast station axiscoordinate value (vertical coordinate) of the drawing start pointcorresponds to a broadcast station axis coordinate value of the left topcorner coordinate point of the broadcast cell. That is, the drawingstart point (xsc,ysc) is set as follows.

xsc←xa

ysc←ysa

The CPU 10 arranges and draws, from the drawing start point set in step133 (step 134) in the portion of the drawing area staying within thedisplay range, characters with the drawable number of characters in theset drawing character size, and terminates the processing in thesub-routine. For example, the CPU 10 refers to the broadcast cell dataDb2 of the currently selected broadcast cell, and horizontally arrangesand draws the character string with the drawable number of characters inthe set drawing character size, the character string constituting thebroadcast title in selected broadcast cell, from the drawing start pointof the drawing area of the broadcast cell, the drawing area stayingwithin the display area. In this case, since a portion of the drawingarea falls outside the display area, the CPU 10 arranges and draws thecharacter string constituting the broadcast title by using a limitedportion of the drawing area, the limited portion staying within thedisplay area. When the drawable number of characters is set with respectto the plurality of lines in the drawing area of the broadcast cell, thecharacter string of the broadcast title is arranged and drawn by usingthe plurality of lines in the drawing area. In this manner, when theleft edge of the drawing area which functions as the drawing start pointis arranged outside the display area, the drawing start point is movedto a position within the display area (that is, moved to the coordinatepoint (xsc, ysc)), and the broadcast title is drawn from the moveddrawing start point.

With reference back to FIG. 18, when it is determined in step 101 thatthe drawing character size is the minimum size, the CPU 10 does not drawany character in the drawing area of the selected broadcast cell (thatis, keeps the drawing area blank) (step 104), and proceeds to subsequentstep 105. That is, when three or more characters cannot be drawn in abroadcast cell even if the minimum size is applied as the drawingcharacter size, the broadcast cell is kept blank.

In step 105, the CPU 10 determines whether or not there is any broadcastcell which is yet to be processed in the television station currentlyselected. When there is a broadcast cell which is yet to be processed inthe television station currently selected, the CPU 10 returns to step 94and repeats the processing. On the other hand, where there is nobroadcast cell which is yet to be processed in the television stationcurrently selected, the CPU 10 proceeds to subsequent step 106.

In step 106, the CPU 10 determines whether or not there is anytelevision station which is yet to be processed in the broadcastlisting. When there is a television station yet to be processed in thebroadcast listing, the CPU 10 returns to step 91 and repeats theprocessing. On the other hand, when all the television stations in thebroadcast listing have been processed, the CPU 10 terminates theprocessing in the sub-routine.

With reference back to FIG. 16, after processing in step 58, the CPU 10determines whether or not a display of the broadcast listing isterminated (step 59). As a condition for terminating the display, forexample, when the condition for terminating the display of the broadcastlisting is satisfied, or when the user performs an operation forterminating the display of the broadcast, the display is terminated.When the display is not terminated, the CPU 10 returns to step 53 andrepeats the processing. When the display is terminated, the CPU 10terminates the processing in the flowchart.

In this manner, the game apparatus body 5 executing the display controlprogram according to the present embodiment is capable of allowing theuser to understand information easily at the time of the scrolloperation and also capable of improving viewability of displayinformation. For example, when a broadcast listing is scroll-displayed,and consequently, a portion of a broadcast title described in abroadcast cell falls outside a display range, the broadcast title ismoved so as to be displayed within the display range. Therefore, it ispossible for the user to understand information easily even if thescroll operation is performed, and is also possible to improveviewability of the broadcast listing. Further, when the broadcastlisting is scroll-displayed, in accordance with the size of the drawingarea of each broadcast cell located at the left edge of the broadcastlisting and in accordance with the character size to be drawn in thedrawing area, the number of characters drawable in the drawing area iscalculated, and the character size to be drawn in the drawing area isdetermined in accordance with the drawable number of characters.Accordingly, it is possible to improve the viewability of the broadcastlisting. Further, movement of the display position of the broadcasttitle and a change in the character size, which are caused by the scrolloperation, are performed at processing intervals. Therefore, thebroadcast listing can be scroll-displayed smoothly in units smaller thanbroadcast cell units. Accordingly, it is possible to improveunderstandability and viewability of the information at the time of thescroll operation.

The above description is exemplified by an example where the charactersize for describing the broadcast title has four levels (“large”,“medium”, “small” and “extra small”). However, the character size is notnecessarily set to have the four levels. For example, the broadcasttitle may be described by using the character size having two or threelevels, or the broadcast title may be described by using the charactersize having five or more levels.

In the above description, a rule is set such that at least threecharacters of the broadcast title is to be described in each of thebroadcast cells. However, another type of rule may be applicable. Forexample, the minimum number of characters to be described in thebroadcast cell may be determined by the user.

Further, the character size set as the targeted display character sizedata Db4 is described as the currently targeted display character size.The character size set as the targeted display character size data Db4may be changeable in accordance with the operation performed by theuser. Further, the character size set as the targeted display charactersize data Db4 may be changed in accordance with a size of the broadcastlisting to be displayed and a length of the time axis to be displayed.

Further, in the drawing area width calculation processing in step 57,when the left side portion of the drawing area falls outside the displayarea (see FIG. 26), the drawing area width dw is reset with respect tothe width direction of the drawing area. In this case, when the leftside portion of the drawing area falls outside the display area due tothe scroll operation, the broadcast title is drawn by using a limitedportion of the drawing area, the limited portion staying within thedisplay area. When the right side portion of the drawing area fallsoutside the display area due to the scroll operation, the broadcasttitle is drawn by using the drawing area including the right sideportion which falls outside the display area (that is, there is nolimitation in the drawing area). In the processing, when a portion ofthe drawing area goes off the left or right of the display area, thedrawing area width dw may be reset. When a portion of the drawing areagoes off the right of the display area, in step 133, a drawing stoppoint is set at the right bottom corner position of an area in thedrawing area of the broadcast cell, the area staying within the displayarea. A character string with the drawable number of characters is thenarranged and drawn in the set drawing character size in the drawing areain a display range to the set drawing stop point.

The above description is exemplified by a case where the scrolling isperformed in the right-left direction, however, the scrolling may beperformed in an up-down direction. For example, in the drawing areawidth calculation processing in step 57, when a portion of the drawingarea falls outside the display area, the drawing area height dh is resetwith respect to a height direction of the drawing area. Accordingly,when the portion of the drawing area goes off the top of the displayarea, the drawing area height dh is reset. When a top edge of thedrawing area falls outside the display area, the reset top edge of thedrawing area, the reset top edge staying within the display area, is setas the drawing start point, and a broadcast title is drawn in thelimited drawing area which stays within the display area. In a similarmanner, when the scrolling is performed in the up-down direction, andwhen a portion of the drawing area goes off the bottom of the displayarea, a reset bottom edge of the drawing area, the reset bottom edgestaying within the display area, is set as the drawing stop point.Accordingly, the broadcast title is drawn in the limited drawing areawhich stays within the display area.

As is clear from the above-described processing procedure, the displayrange of the broadcast listing changes continuously in units ofmagnitude va of the scroll vector scv until an amount of scrollingreaches such amount which is desired by the user. According to thechange, the display mode of the broadcast title drawn in the broadcastcell also changes continuously in units of a length corresponding to theunit of the magnitude va. Therefore, the magnitude va is set shorterthan a length of the broadcast cell, whereby the display range of thebroadcast listing and the display mode of the broadcast title can bechanged continuously at an interval of a unit time, in units of thelength shorter than the length of the broadcast cell. Further, when themagnitude va is set at 1 dot of the display image, it is obvious thatscroll display processing can be performed, where very minute 1 dot isset as a unit of movement.

The above description is exemplified by a case where the display area ismoved toward the direction of scrolling performed by the user, wherebythe broadcast cell to be displayed is scrolled in a direction oppositeto the direction of scrolling. However, the broadcast cell may bescrolled in another direction. For example, by moving the display areato a direction opposite to the direction of scrolling performed by theuser, the broadcast cell to be displayed may be scrolled in the samedirection as the scroll operation.

Further, a priority order is set to each of the characters of thecharacter string which is indicated by the broadcast title characterstring data Db2 b and which is described in the broadcast cell, and thecharacters may be displayed in order of the priority when all thecharacters of the broadcast title cannot be described. Accordingly, whencharacters which are likely to be redundant with those of anotherbroadcast title are assigned relatively low priority, it is possible todistinguish the broadcast title with another broadcast title even thoughonly a few characters of the broadcast title is displayed.

In the above description, the broadcast listing in the matrix form isapplied, in which the horizontal axis represents the time axis, and thevertical axis represents the broadcast station axis. However, abroadcast listing in another form may be applied. For example, abroadcast listing in the matrix from, in which the horizontal axisrepresents the broadcast station axis and the vertical axis representsthe time axis, may be applied to the present invention. In this case,whether or not a portion of the drawing area of the broadcast cell fallsoutside the display area is determined with reference to a verticaldirection (height) of the drawing area, whereby a similar displaycontrol processing can be realized.

The above description is exemplified by a two-dimensional broadcastlisting which is arranged in a two-dimensional virtual world. However,it is obvious that a display control of a broadcast listing arranged ina three-dimensional virtual world is also feasible.

The above description is exemplified by the display control of thecharacter string described in each of the broadcast cells in thebroadcast listing in the matrix form, in which the horizontal axisrepresents the broadcast station axis and the vertical axis representsthe time axis. However, it is possible to perform the display control ofa character string described in a mode different from that used for thebroadcast listing. For example, it may be possible to perform thedisplay control of character strings described in respective cells of agame schedule in the matrix form, in which one axis represents a type ofa game and the other axis represents the time axis. Further, it may bepossible to perform the display control of character strings describedin respective cells of a schedule in a matrix form, in which any two ofthe time axis, a date axis, a day-of-the-week axis, a user axis and thelike are used as axes thereof. Further, it may be possible to performthe display control of character strings described in respective cellsof a chart in a matrix form having a plurality of rows and columns. Inthis manner, the present invention is applicable to any character stringdescribed in respective cells in a chart form as well as the broadcastlisting, and obviously, in this case as well, an effect similar to thatexerted in the case of the broadcast listing can be obtained.

A mode has been described in which the image data picked up by the imagepickup element 743 is analyzed so as to obtain a position coordinatepoints of the infrared radiations from the markers 8L and 8R andbarycentric coordinate points thereof, and then the processing resultdata thereof is generated within the controller 7 and transmitted to thegame apparatus body 5. However, another processing stage data may betransmitted from the controller 7 to the game apparatus body 5. Forexample, the image data picked up by the image pickup element 743 istransmitted from the controller 7 to the game apparatus body 5, and theCPU 10 performs the above-described analysis processing so as to obtainthe processing result data. In this case, the image processing circuit744 provided to the controller 7 is not required. Further, partiallyanalyzed image data may be transmitted from the controller 7 to the gameapparatus body 5. For example, data indicative of brightness, aposition, an area and the like, which are obtained from the image data,is transmitted from the controller 7 to the game apparatus body 5, andthe CPU 10 performs remaining analysis processing so as to obtain theprocessing result data.

In the above description, the infrared radiations from the markers 8Land 8R are used as the imaging targets of the imaging informationcalculation section 74 of the controller 7. However, another materialmay be used as the imaging target. For example, one marker or three ormore markers are placed in the vicinity of the monitor 2, and theinfrared radiations from the markers may be used as the imaging targetsof the imaging information calculation section 74. Further, the displayscreen of the monitor 2 and another luminous element (such as interiorlight) may be used as the imaging target of the imaging informationcalculation section 74. As long as a position on the display screenpointed to by the controller 7 is calculated based on the positionalrelation between the imaging target and the display screen of themonitor 2, any luminous element can be used as the imaging target of theimaging information calculation section 74.

The above description is exemplified by a mode in which the controller 7and the game apparatus body 5 are connected to each other via thewireless communication. However, the controller 7 and the game apparatusbody 5 may be electrically connected to each other via a cable. In thiscase, the cable connected to the controller 7 is connected to aconnection terminal of the game apparatus body 5.

Further, it is obvious that the above-described shape of the controller,the shapes, the number, the positions and the like of the operationsections 72 provided thereto, respective equations, constants,processing orders and the like which are used in the display controlprocessing are merely examples. Any other shapes, numbers, equations,constants, and processing orders may be used to realize the presentinvention. A position of the imaging information calculation section 74(a light entrance of the imaging information calculation section 74) inthe controller 7 is not necessarily located at the front surface of thehousing 71, and may be located at any other surface as long as light canbe obtained from an outside of the housing 71.

The above description is exemplified by a case where the presentinvention is applied to the stationary game apparatus body 5 whichperforms processing in accordance with an operation performed with thecontroller 7. However, the present invention may be applicable to ahand-held game apparatus. For example, the above-described displaycontrol processing is executed in accordance with an operation performedby using operation buttons provided on the hand-held game apparatusbody. In this manner, the present invention is applied to the hand-heldgame apparatus and the like, whereby the display control processing ofthe present invention can be realized by using the hand-held gameapparatus.

The above description is exemplified by a case where the presentinvention is applied to the stationary and hand-held game apparatuses.However, the present invention may be applicable to an informationprocessing apparatus such as a general personal computer and a portableinformation processing apparatus which are each operated by an inputdevice. As the portable information processing apparatus, devices suchas a general personal computer, a mobile phone, and a PDA (PersonalDigital Assistant) are adoptable. Further, the present invention may beapplicable to the display control of the broadcast listing displayed ona broadcasting receiver such as a television receiver, a DVD (DigitalVersatile Disc), a video recorder.

Further, the display control program of the present invention is notonly previously stored in the involatile storage apparatus in the gameapparatus body 5, but may be provided to the game apparatus body 5 viaan external storage medium such as the optical disc 4. As theinformation storage medium storing the display control program,involatile semiconductor memory may be applicable in addition to aCD-ROM, a DVD and any other optical disc storage media. Alternatively,the display control program may be provided to the game apparatus body 5via a wired or wireless communication line.

The storage medium having stored thereon the display control program andthe display control apparatus according to the present invention arecapable of allowing the user to understand information easily at thetime of the scroll operation and also capable of improving viewabilityof the display information, and accordingly, are useful as an apparatusand a program for displaying predetermined characters in a plurality ofdrawing area.

While the invention has been described in detail, the foregoingdescription is in all aspects illustrative and not restrictive. It isunderstood that numerous other modifications and variations can bedevised without departing from the scope of the invention.

What is claimed is:
 1. A non-transitory computer-readable storage mediumhaving stored thereon a display control program executed by a computerof an apparatus for drawing predetermined character strings in aplurality of drawing areas and arranging and displaying the plurality ofdrawing areas in the form of a table, the computer being caused to:acquire operation data of a user; calculate an amount of scrolling inaccordance with an operation content indicated by the operation data;cause a display range of the table displayed on a display apparatus tobe moved in the table in accordance with the amount of the scrolling;determine whether or not a drawing start point for drawing each of thecharacter strings in each of the drawing areas stays within the displayrange; change, in the case where it is determined that the drawing startpoint of a drawing area, among the drawing areas, falls outside thedisplay range, the drawing start point of the drawing area to a positionwhich is in the drawing area and also which stays within the displayrange; arrange each of the character strings into each of the drawingareas from the drawing start point which is set to each of the drawingareas; and cause the table within the display range to be displayed onthe display apparatus together with the arranged character strings. 2.The non-transitory computer readable storage medium having storedthereon the display control program according to claim 1, wherein withrespect to a drawing area, among the drawing areas, where a portion ofthe drawing area stays within the display range, and a remaining portionof the drawing area falls outside the display range, it is determinedwhether or not the drawing start point of the drawing area stays withinthe display range.
 3. The non-transitory computer readable storagemedium having stored thereon the display control program according toclaim 1, wherein the display range is moved, in accordance with theamount of scrolling, by a distance shorter than a length of the drawingarea in a scrolling direction at an interval of a unit time, and whetheror not the drawing start point stays within the display range isdetermined each time the display range is moved.
 4. The non-transitorycomputer readable storage medium having stored thereon the displaycontrol program according to claim 1, wherein a scroll speed, whichindicates an amount of scrolling per unit time, is calculated at aninterval of the unit time, in accordance with the operation contentindicated by the operation data, and the display range is moved in thetable at the interval of the unit time in accordance with the scrollspeed.
 5. The non-transitory computer readable storage medium havingstored thereon the display control program according to claim 1, whereinthe computer is further caused to: expand/reduce the drawing area, inthe case where a portion of a drawing area, among the drawing areas,stays within the display range and a remaining portion of the drawingarea falls outside the display range, so as to limit the drawing area tothe portion thereof which stays within the display range; determine, inthe case where the drawing area is expanded/reduced, whether or not acharacter size of a character string to be drawn in the drawing area ischanged; and change the character size to be drawn in the drawing areain the case where it is determined to change the character size to bedrawn in the drawing area, wherein the character string is arranged inthe drawing area from the drawing start point of the drawing area in thechanged character size to be drawn in the drawing area.
 6. Thenon-transitory computer readable storage medium having stored thereonthe display control program according to claim 5, wherein the computeris further caused to: calculate the number of characters arrangeable inthe drawing area in accordance with a size of the drawing area; anddetermine whether or not the character size of the character string tobe drawn in the drawing area is to be changed in accordance with whetheror not the calculated number of characters arrangeable in the drawingarea is equal to or more than a predetermined number, wherein thecharacter size is changed to a relatively larger size in the case wherethe number of characters arrangeable in the drawing area is determinedto be equal to or more than the predetermined number, whereas thecharacter size is changed to a relatively smaller size in the case wherethe number of characters arrangeable in the drawing area is determinedto be less than the predetermined number.
 7. The non-transitory computerreadable storage medium having stored thereon the display controlprogram according to claim 6, wherein in the case where the number ofcharacters arrangeable in the drawing area is determined to be less thanthe predetermined number, the character size is reduced to be arrangedin the drawing area by one level, when the character size is reduced,the number of characters arrangeable in the drawing area is recalculatedin accordance with the size of the drawing area with respect to whichthe character size has been reduced and in accordance with the reducedcharacter size, and in accordance with the reduced character size, it isdetermined whether or not the number of characters recalculated is equalto or more than the predetermined number.
 8. The non-transitory computerreadable storage medium having stored thereon the display controlprogram according to claim 7, wherein in the case where it is determinedthat the number of characters arrangeable in the drawing area is lessthan the predetermined number under a circumstance where the charactersize has been reduced to a minimum size, the drawing area is left blank.9. The non-transitory computer readable storage medium having storedthereon the display control program according to claim 6, wherein thecomputer is further caused to: calculate the number of character linesarrangeable in the drawing area in accordance with a length of one sideof the drawing area and in accordance with a length of a character in adirection of the one side, the character having a character size to bearranged in the drawing area; and calculate the number of charactersarrangeable in each of the character lines in the drawing area inaccordance with a length of the other side of the drawing area and inaccordance with a length of the character in a direction of the otherside, the character having the character size to be arranged in thedrawing area, wherein the number of characters arrangeable in thedrawing area is calculated by using the number of character lines andthe number of characters arrangeable in each of the character lines, andthe character string is arranged in the drawing area from the drawingstart point of the drawing area in accordance with the character sizehaving been changed, with respect to the drawing area, and by using thenumber of character lines.
 10. The non-transitory computer readablestorage medium having stored thereon the display control programaccording to claim 1, wherein the table is a broadcast listing in whichthe plurality of drawing areas is arranged in a matrix form, and inwhich one axis thereof represents a time axis and the other axisrepresents a broadcast station axis, and each of the character stringsare arranged at least indicative of a broadcast title into each of theplurality of the drawing areas in accordance with a broadcast stationand a broadcast time of the broadcast.
 11. A display control apparatusfor drawing predetermined character strings in a plurality of drawingareas and for arranging and displaying the plurality of drawing areas inthe form of a table, the display control apparatus comprising: anoperation data acquisition unit for acquiring operation data of a user;a scroll amount calculation unit for calculating an amount of scrollingin accordance with an operation content indicated by the operation data;a display range moving unit for causing a display range of the tabledisplayed on a display apparatus to be moved on the table in accordancewith the amount of scrolling; a drawing start point determination unitfor determining whether or not a drawing start point for drawing each ofthe character strings in each of the drawing areas stays within thedisplay range; a drawing start point changing unit for changing, in thecase where the drawing start point determination unit determines thatthe drawing start point of a drawing area, among the drawing areas,falls outside the display range, the drawing start point of the drawingarea to a position which is in the drawing area and also which stayswithin the display range; a character string arranging unit forarranging each of the character strings into each of the drawing areasfrom the drawing start point which is set to each of the drawing areas;and a display control unit for causing the table within the displayrange to be displayed on the display apparatus together with thecharacter strings arranged by the character string arranging unit.
 12. Amethod for drawing predetermined character strings in a plurality ofdrawing areas and arranging and displaying the plurality of drawingareas in the form of a table on a display apparatus, the methodcomprising: acquiring operation data of a user; calculating, using aprocessor, an amount of scrolling in accordance with an operationcontent indicated by the operation data; causing a display range of thetable displayed on the display apparatus to be moved in the table inaccordance with the amount of the scrolling; determining whether or nota drawing start point for drawing each of the character strings in eachof the drawing areas stays within the display range; changing, in thecase where it is determined that the drawing start point of a drawingarea, among the drawing areas, falls outside the display range, thedrawing start point of the drawing area to a position which is in thedrawing area and also which stays within the display range; arrangingeach of the character strings into each of the drawing areas from thedrawing start point which is set to each of the drawing areas; andcausing the table within the display range to be displayed on thedisplay apparatus together with the arranged character strings.
 13. Adisplay control system for drawing predetermined character strings in aplurality of drawing areas and for arranging and displaying theplurality of drawing areas in the form of a table, the display controlsystem comprising: an operation data acquisition device for acquiringoperation data of a user; and a processor configured to: calculate anamount of scrolling in accordance with an operation content indicated bythe operation data; cause a display range of the table displayed on adisplay apparatus to be moved on the table in accordance with the amountof scrolling; determine whether or not a drawing start point for drawingeach of the character strings in each of the drawing areas stays withinthe display range; change, in the case where the drawing start point ofa drawing area, among the drawing areas, is determined to fall outsidethe display range, the drawing start point of the drawing area to aposition which is in the drawing area and also which stays within thedisplay range; arrange each of the character strings into each of thedrawing areas from the drawing start point which is set to each of thedrawing areas; and cause the table within the display range to bedisplayed on the display apparatus together with the arranged characterstrings.